颜色特征实验代码
originailimage=imread('1.jpg');
image_I=rgb2gray(originailimage);
% [image_x,image_y]=size(image_I);
% if image_x<image_y
% image_I=image_I';
figure(1),subplot(121),title('灰度图'),
imshow(image_I);
% 找到边缘
I=image_I;
image_bw=edge(I,'canny');
subplot(122),title('边界检测图')
imshow(image_bw);
[L,NUM]=bwlabeln(image_bw,8); % 连通性
%~~~~~~~将图像边缘量化为101份(1-100 101) 画出边缘直方图,量化份数因情况
不同而定
num_line=zeros(1,101);
for i=1:NUM
number=length(find(L==i));
for j=1:100
if number==j
num_line(j)=num_line(j)+1;
end
end
if number>100
num_line(101)=num_line(101)+1;
end
end
EH_1=[];
for i=1:101
EH_1=[EH_1 num_line(i)];
end
x1=1:101;
y1=EH_1;
figure(2),title('plot曲线直方图'),
plot(x1,y1);
%~~~~亦可将图像量化为13份(1-10 11 12 13)画出bar投影图像
num=zeros(1,13);
for i=1:NUM
number=length(find(L==i));