clc; clear all; close all;
I = imread('1.PNG');
I1 = rgb2hsv(I);
I1 = I1(:, :, 2);
I2 = im2bw(I1, 0.2);
figure(1);
imhist(I2);
I2 = imclose(I2, strel('disk',3));
I3 = imfill(I2, 'holes');
Ir = I(:, :, 1); Ir(find(I3==0)) = 0;
Ig = I(:, :, 2); Ig(find(I3==0)) = 0;
Ib = I(:, :, 3); Ib(find(I3==0)) = 0;
temp = cat(3, Ir, Ig, Ib);
%str = sprintf('c:\\c.jpg');
%imwrite(temp, str);
figure(2);
imshow(temp, 'Border', 'Tight');
L = bwlabel(I3);
for i = 1 : 6
ind = find(L~=i);
Ir = I(:, :, 1);
Ig = I(:, :, 2);
Ib = I(:, :, 3);
Ir(ind) = 0;
Ig(ind) = 0;
Ib(ind) = 0;
It = cat(3, Ir, Ig, Ib);
%str = sprintf('c:\\c%d.jpg', i);%%输出图片
%imwrite(It, str);
end
评论0