Created
November 15, 2012 12:19
-
-
Save seaslee/4078376 to your computer and use it in GitHub Desktop.
颜色特征提取,hsv颜色空间,使用颜色直方图,采用非均匀量化
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%============================= | |
%颜色特征提取,hsv颜色空间,使用颜色直方图,采用非均匀量化 | |
%============================= | |
function fc=color(imgname) | |
%tic | |
img=imread(imgname); | |
hsv=rgb2hsv(img); | |
%将hsv特征进行非均匀的量化 | |
[height,width,dim]=size(hsv); | |
len=256; | |
fc=zeros(1,len); | |
for i=1:height, | |
for j=1:width, | |
H=hsv(i,j,1)*360; | |
S=hsv(i,j,2); | |
V=hsv(i,j,3); | |
%非均匀化H | |
if H<=15 || H>345, | |
h=0; | |
elseif H>15 && H<=25, | |
h=1; | |
elseif H>25 && H<=45, | |
h=2; | |
elseif H>45 && H<=55, | |
h=3; | |
elseif H>55 && H<=80, | |
h=4; | |
elseif H>80 && H<=108, | |
h=5; | |
elseif H>108 && H<=140, | |
h=6; | |
elseif H >140 && H<=165, | |
h=7; | |
elseif H >165 && H<=190, | |
h=8; | |
elseif H>190 && H<=220, | |
h=9; | |
elseif H>220 && H<=255, | |
h=10; | |
elseif H>255 && H<=275, | |
h=11; | |
elseif H>275 && H<=290, | |
h=12; | |
elseif H>290 && H<=316, | |
h=13; | |
elseif H>316 && H<330, | |
h=14; | |
else | |
h=15; | |
end | |
%非均匀化S | |
if S >=0 && S<=0.15, | |
s=0; | |
elseif S>0.15 && S<=0.4, | |
s=1; | |
elseif S>0.4 && S<=0.75, | |
s=2; | |
else | |
s=3; | |
end | |
%非均匀化V | |
if V >=0 && V<=0.15, | |
v=0; | |
elseif V>0.15 && V<=0.4, | |
v=1; | |
elseif V>0.4 && V<=0.75, | |
v=2; | |
else | |
v=3; | |
end | |
%计算L | |
L=16*h+4*s+v+1; | |
fc(L)=fc(L)+1; | |
end | |
end | |
fc=fc/sum(fc); | |
%toc | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment