Matlab的图像恢复到其原来的颜色(Matlab restoring the image to i

2019-09-24 00:05发布

我问过去,有人建议我使用麦克,但我没有足够的钱有它:/

因此,我拍下前,我已经添加3圆图像,以在图像中的地方:第一圆是红色的[255 0 0] RGB,第二个是绿色圆圈的[0 255 0]和RGB第三是蓝色[0 0 255]。 因此,我可以看到关于像素平均每个人的变化和这种变化修正的整体形象。

我每圈的所有像素。 我做了像素的平均值,我得到了,接下来的事情:

红色圆圈的所有的平均RGB所包含的像素为[243 15 26]。

绿圈的所有的平均RGB所包含的像素是29 235 56]。

和关于蓝色圆圈它是[14 33 250]。

我如何通过新红\绿\蓝色圆圈RGB的结果修正图像中每个像素的颜色?

Answer 1:

如果假设一个线性颜色映射,可以构造一个描述观察到的颜色从原来的颜色(0,0,255)的变化,例如线性系统,例如。 (14,33,250)。

基本上,Y = A * x,其中x是原始的色彩,y是所观察到的颜色,A是变换矩阵。

一旦你计算出A,你可以反其道而行,以获得所需的变换与Y去X。 然后,您可以应用^( - 1)关于线性色彩校正所有像素。



文章来源: Matlab restoring the image to its original colors