将图片转化为二值图
I=imread('E:\hh.bmp');
BW=imbinarize(I,'adaptive');
figure
imshowpair(I,BW,'montage')
提取图片背景:
I=imread('E:\a.png');
BG=imopen(I,strel('disk',15));
figure
imshowpair(I,BG,'montage')
由于图片亮度不均匀,因此将图片减去背景可得到亮度均匀的图片
I=imread('E:\a.png');
BG=imopen(I,strel('disk',15));
I1=imsubtract(I,BG);
figure
imshowpair(I,I1,'montage')
生成彩色图像
I=imread('E:\a.png');
BG=imopen(I,strel('disk',15));
I1=imsubtract(I,BG);
level=graythresh(I1);
BW=im2bw(I1,level);
[labeled,numObject]=bwlabel(BW,8);
RGB_label=label2rgb(labeled);
imshow(RGB_label)
将米粒有白色改为红色
ma=zeros(size(BW,1),size(BW,2),3);
s=size(BW);
for i=1:s(1)
for j=1:s(2)
if BW(i,j)>0
ma(i,j)=255;
end
end
end
imshow(ma)
剔除未选中米粒
ObjI=bwselect(BW);
imshow(ObjI)
运行代码后弹出窗口,用鼠标点击米粒,再按住回车键,就会保留你选中的迷离