首页 文章

Matlab将图像恢复为原始颜色

提问于
浏览
2

我过去问过,有人建议我使用MACBETH,但我没有足够的资金来使用它:/

enter image description here

所以在我拍摄之前,我已经在图像中添加了3个圆圈作为图像中的位置:第一个圆圈为红色,RGB为[255 0 0],第二个圆圈为绿色圆圈,RGB为[0 255 0],第三个是蓝色[0 0 255] . 因此,我可以看到每个像素平均值的变化,并通过这种变化修复整个图像 .

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

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

绿色圆圈的所有包含像素的平均RGB是[29 235 56] .

关于蓝色圆圈是[14 33 250] .

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

1 回答

  • 1

    如果您采用线性颜色映射,则可以构建一个描述原始颜色变化的线性系统,例如: (0,0,255)观察到的颜色,例如 . (14,33,250) .

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

    一旦计算出A,就可以将其反转以获得从y到x所需的变换 . 然后,您可以对所有像素应用A ^( - 1)以进行线性颜色校正 .

相关问题