如何计算Lab-color空间中像素到特定原型的距离

时间:2015-06-10 14:23:03

标签: java opencv image-processing colors javacv

我有Lab-Image,对于其中的每个像素,我想知道像素的红色,绿色,蓝色和黄色。

这意味着,对于输入Lab-Image,我应该得到四个图像,分别为红色,绿色,蓝色和黄色。

就我研究而言,我知道可以通过计算从Lab-image中的每个像素到颜色原型(R,G,B或Y)的ecludian距离来完成。例如,如果我想生成一个图像包含Lab-Image中像素的红色,那么对于Lab-Image中的每个像素,我必须计算{{1}中该像素的距离在Lab-Image

中的红色原型

请提供一些建议和指导。

1 个答案:

答案 0 :(得分:0)

您需要做的就是将您需要的颜色值(例如RGB中的红色= 255,0,0)转换为Lab(Lref,aref,bref),然后计算每个像素与此值之间的欧氏距离,并设置距离作为输出像素值。

out_pixel=sqrt(sqr(Lpixel-Lref)+sqr(apixel-aref)+sqr(bpixel-bref))

如果您希望像素输出适合0-255,则可能需要对值进行标准化。