部分代码:
methods (Access = private)
function func(comp)
%initial picture
im=imread(comp.file);
imshow(im,'Parent',comp.UIAxes)
%HSV picture
% string1=[string 'initial_picture'];
% string=[string '.jpg'];
Ecolit=imread(comp.file);
% imshow(Ecolit);title(string1);
Ecolit_new=ones(size(Ecolit));
Ecolit_Hsv=rgb2hsv(Ecolit);
% [row, col]=ind2sub(size(Ecolit_Hsv),find(Ecolit_Hsv(:,:,1)>0 & Ecolit_Hsv(:,:,1)<0.07888 & Ecolit_Hsv(:,:,2)>0.38 & Ecolit_Hsv(:,:,3)>0.38 ));
% flagnew_hsv=rgb2hsv(Ecolit_new);
% flagnew_hsv1=rgb2hsv(Ecolit_new);
flagnew_hsv2=rgb2hsv(Ecolit_new);
% for i=1:length(row)
% flagnew_hsv(row(i),col(i),:)=Ecolit_Hsv(row(i),col(i),:);
%
% end
% flagnew_rgb=hsv2rgb(flagnew_hsv);
% imshow(flagnew_rgb);
%
% [row1, col1]=ind2sub(size(Ecolit_Hsv),find(Ecolit_Hsv(:,:,1)>0.8666& Ecolit_Hsv(:,:,1)<1 & Ecolit_Hsv(:,:,2)>0.38 & Ecolit_Hsv(:,:,3)>0.18 ));
% for i=1:length(row1)
% flagnew_hsv1(row1(i),col1(i),:)=Ecolit_Hsv(row1(i),col1(i),:);
% end
% flagnew_rgb=hsv2rgb(flagnew_hsv1);
% imshow(flagnew_rgb);
[row2, col2]=ind2sub(size(Ecolit_Hsv),find(((Ecolit_Hsv(:,:,1)>comp.HDOWNdown & Ecolit_Hsv(:,:,1)<comp.HUPdown)|(Ecolit_Hsv(:,:,1)>comp.HDOWNup & Ecolit_Hsv(:,:,1)<comp.HUPup)) & Ecolit_Hsv(:,:,2)>comp.SDOWN &Ecolit_Hsv(:,:,2)<comp.SUP & Ecolit_Hsv(:,:,3)>comp.VDOWN & Ecolit_Hsv(:,:,3)<comp.VUP));
for i=1:length(row2)
flagnew_hsv2(row2(i),col2(i),:)=Ecolit_Hsv(row2(i),col2(i),:);
end
for i=1:length(row2)
flagnew_hsv2(row2(i),col2(i),:)=0;
end
flagnew_rgb=hsv2rgb(flagnew_hsv2);
imshow(flagnew_rgb,'Parent',comp.UIAxes2)
end
end
需要私信