觉得老在写些提取特征的,rgb,hsv,lab。
师兄之前给过一个rgb2lab.m,就一直在用它。
今天发现好像有些问题。
师兄的代码如下:
image_lab = rgb2lab( img );
L = image_lab(:,:,1) / 100;
A = image_lab(:,:,2) / 220 + 0.5;
B = image_lab(:,:,3) +160) / 220 + 0.5;
但是在查了那个rgb2lab.m文件后,又在网上搜到了一篇类似的文章(http://hao.qinz.net/comments.php?y=08&m=07&entry=entry080727-033517),发现m文件和这篇文章里提到的算法很像,但是有细微差别。计算L方式有点不太一样。L的取值范围[0, 100),而a和b则约为[-169, +169)和[-160, +160)。
于是修改代码如下:
image_lab = rgb2lab( img );
L = image_lab(:,:,1) / 100;
A = (image_lab(:,:,2) + 169) / 338;
B = (image_lab(:,:,3) +160) / 320;
但是算出来好像归一化以后的不太对诶。。。。。
具体代码请见我的资源页。。。已上传。。。
http://download.csdn.net/detail/apsvvfb/8132755
以下转自http://hao.qinz.net/comments.php?y=08&m=07&entry=entry080727-033517