工作需要,要RGB和LAB互相转换,要得到某一个RGB值对应的LAB值,所以,MATLAB和Opencv什么的就没法用了,只能自己找。
网上很多代码,也都是正确效果,比如http://blog.sina.com.cn/s/blog_46e3af5b0100u7wt.html 这篇文章里的代码,能够正确的RGB和LAB互相转换。
但是发现使用photoshop取图像上某点的RGB转换得到的LAB值和该代码得到的值有很大的区别。
这不是我想要的。
找了半天,终于实现了和photoshop一样的结果,记录如下:
和大家一样,都是rgb->xyz->lab,lab->xyz->rgb
其中,rgb转lab参考http://blog.sina.com.cn/s/blog_91528c150101mwbe.html 的文章
其中,xyz转lab的公式如下:
此方法,rgb转lab和photoshop得到结果基本一致。
至于lab转rgb,网上搜了半天也没有现成的。只好搜lab转xyz,然后xyz转rgb了。这么一搜,问题来了。