觉得老在写些提取特征的,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.youkuaiyun.com/detail/apsvvfb/8132755
以下转自http://hao.qinz.net/comments.php?y=08&m=07&entry=entry080727-033517</

本文讨论了在MATLAB中RGB到Lab色彩空间转换的问题,指出现有代码的一些问题,并提供了修改后的代码。作者通过研究发现,原始代码在计算L分量时存在差异,提出了一种新的归一化方法,但实验结果表明新方法可能存在问题。文章分享了改进后的代码,并引用了相关网络资源作为参考。
最低0.47元/天 解锁文章
4127

被折叠的 条评论
为什么被折叠?



