matlab写的图象灰度切分源代码(matlab灰度图像分段线性变换)[20240506更新]
admin 发布:2024-05-06 15:40 150
今天给各位分享matlab写的图象灰度切分源代码的知识,其中也会对matlab灰度图像分段线性变换进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、matlab图像分割程序
- 2、求MATLAB图像分割源程序 最好简单点带说明的
- 3、求用matlab绘制灰度图像的三维立体图的源代码?
- 4、彩色图像转变为灰度图像的matlab的程序代码是什么?
- 5、matlab运行代码进行图像分割
- 6、请问在MATLAB下如何实现对灰度图进行位平面分解,分成8个平面图,要代码,急!谢谢!
matlab图像分割程序
clear I=imread('bai.jpg'); %读入图像
q=imadjust(I,[.2 .3 0;.6 .7 1],[]); %增强图像的对比度
j=rgb2gray(q); %彩色图像变灰度图像
j1=im2bw(q,230/255);%二值化
se90=strel('line',3,90); %构造元素
se0=strel('line',3,0); %同上
BW2=imdilate(j1,[se90 se0]); % 用构造的元素膨胀
BW3=bwareaopen(BW2,100);%开操作
BW3=~BW3;%取反
BW4=bwareaopen(BW3,20);%开
BW5=bwperim(BW4);%计算BW4周长
[imx,imy]=size(BW5);计算长宽
L=bwlabel(BW5,8);%用不同的数字根据是否连通标记图像,
a=max(max(L));%得到L图像中标记结果的最大值
BW6=bwfill(BW5,'hole');%填充背景
I2=I;
for i=1:3; I2(:,:,i)=I2(:,:,i).*uint8(BW6);
end imshow(I2); 有大神能逐条解释一下语句吗,本人是菜鸟啊,跪求!!
求MATLAB图像分割源程序 最好简单点带说明的
区域生长法:
A0=imread('1.jpg');%读入图像
seed=[100,220];%选择起始位置
thresh=15;%相似性选择阈值
A=rgb2gray(A0);
%灰度化
A=imadjust(A,[min(min(double(A)))/255,max(max(double(A)))/255],[]);
A=double(A); %将图像灰度化
B=A;
%将A赋予B
[r,c]=size(B);
%图像尺寸 r为行数,c为列数
n=r*c;
%计算图像所包含点的个数
pixel_seed=A(seed(1),seed(2));
%原图起始点灰度值
q=[seed(1) seed(2)];
%q用来装载起始位置
top=1;
%循环判断flag
M=zeros(r,c);
%建立一个与原图形同等大小的矩阵
M(seed(1),seed(2))=1;
%将起始点赋为1,其余为0
count=1;
%计数器
while top~=0
%循环结束条件
r1=q(1,1);
%起始点行位置
c1=q(1,2);
%起始点列位置
p=A(r1,c1);
%起始点灰度值
dge=0;
for i=-1:1
%周围点的循环判断
for j=-1:1
if r1+i=r r1+i0 c1+j=c c1+j0
%保证在点周围范围之内
if abs(A(r1+i,c1+j)-p)=thresh M(r1+i,c1+j)~=1
%判定条件?
top=top+1;
%满足判定条件top加1,top为多少,则q的行数有多少行
q(top,:)=[r1+i c1+j];
%将满足判定条件的周围点的位置赋予q,q记载了满足判定的每一外点
M(r1+i,c1+j)=1;
%满足判定条件将M中相对应的点赋为1
count=count+1;
%统计满足判定条件的点个数,其实与top此时的值一样
B(r1+i,c1+j)=1;
%满足判定条件将B中相对应的点赋为1
end
if M(r1+i,c1+j)==0;
%如果M中相对应点的值为0将dge赋为1,也是说这几个点不满足条件
dge=1;
%将dge赋为1
end
else
dge=1;
%点在图像外将dge赋为1
end
end
end
%此时对周围几点判断完毕,在点在图像外或不满足判定条件则将dge赋为1,满足条件dge为0
if dge~=1
%最后判断的周围点(i=1,j=1)是否满足条件,如dge=0,满足。dge=1,不满足。
B(r1,c1)=A(seed(1),seed(2));
%将原图像起始位置灰度值赋予B
end
if count=n
%如果满足判定条件的点个数大于等于n
top=1;
end
q=q(2:top,:);
top=top-1;
end
subplot(1,2,1),imshow(A,[]);
subplot(1,2,2),imshow(B,[]);
求用matlab绘制灰度图像的三维立体图的源代码?
p=imread('000.jpg'); % 调入全彩图
g=rgb2gray(p); % 转为灰阶图
gg=double(g); % 转为数值矩阵
gg=1-gg/255; % 将彩色值转为 0-1 的渐变值
[x,y]=size(gg); % 取原图大小
[X,Y]=meshgrid(1:y,1:x); % 以原图大小构建网格
mesh(X,Y,gg); % 网格上画出图像
colormap gray % 设为灰阶图像
彩色图像转变为灰度图像的matlab的程序代码是什么?
MidGrayPic = zeros(rows , cols);%用得到的参数创建一个全零的矩阵,这个矩阵用来存储用下面的方法产生的灰度图像
MidGrayPic = uint8(MidGrayPic);%将创建的全零矩阵转化为uint8格式,因为用上面的语句创建之后图像是double型的
RGB=imread('img.bmp','bmp'); %读入彩色图片figure(1),imshow(RGB),title('彩色图'); %显示彩色图片I=rgb2gray(RGB); %彩色转化成灰度图figure(2),imshow(I),title('灰度图'); %显示灰度图
不能恢复成彩色图像了,只能根据要求转变成伪彩色图像,你把前期的程序给我,我帮你做。还有把要求说详细点。
matlab运行代码进行图像分割
把你的代码保存为一个m文件,也就是后缀为*.m的文件。
然后再MATLAB选择File-》New-》M-File打开,找到你的文件打开就行
出现下面这个界面,点击其中绿色三角形即可运行
至于注释,你的代码中已经很到位了,就是前面几行错开了。而且在代码中注释,要使用%号
clear all
I=imread('tudiao.jpg'); %(读入图像)
tmin=min(I(:)); % (计算图像的灰度最小值和最大值)
tmax=max(I(:));
th=(tmin+tmax)/2; % (设定初始阈值)
ok=true; % (定义开关变量,用于控制循环次数)
while ok %(迭代法计算量)
请问在MATLAB下如何实现对灰度图进行位平面分解,分成8个平面图,要代码,急!谢谢!
% 文件名:bitPlane.m
% 编 写:向德生 7/31/2010
% 功 能:MATLAB实现256色灰度图像的8位平面分解
clc;
clear all;
A = imread('car4.jpg');
% 显示原始图像
subplot(3,3,1);
imshow(A);title('原始图像');
% 显示8个位平面图像
for i=8:-1:1
A_bitplane = bitshift(bitget(A,i),i-1);
subplot(3, 3, 9-i+1);
imshow(A_bitplane);
title(['位平面 ' num2str(i)]);
end
matlab写的图象灰度切分源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于matlab灰度图像分段线性变换、matlab写的图象灰度切分源代码的信息别忘了在本站进行查找喔。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 05-07pb超级报表源代码(pb报表工具)[20240507更新]
- 05-07简历源代码可以上传照片的简单介绍[20240507更新]
- 05-07广告切换源代码免费下载(广告切换源代码免费下载安装)[20240507更新]
- 05-06阁楼网源代码(阁楼是什么网站)[20240506更新]
- 05-06源代码管理资源管理器(资源管理器运行代码)[20240506更新]
- 05-06人脸识别源代码pdf的简单介绍[20240506更新]
- 05-06包含超市管理系统java源代码的词条[20240506更新]
- 05-06商城app源代码免费(商城App源码)[20240506更新]
- 05-06包含游戏源代码不同的模式的词条[20240506更新]
- 05-06.net贴吧源代码的简单介绍[20240506更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接