如何使用colormatrix在C#中使用参考颜色校准图像(jpg/png)



我有一个图像,它有可供参考的对象。例如,特定位置的矩形。

对于(Rectnangle(,我们已经有了它的理想/参考颜色值,例如R=255,g=255,B=255。

Reactangle的平均RGB是不同的,例如R=200,g=200,B=200。

因此,与理想/参考颜色存在R=55,G=55,B=55的偏差。

如何使用颜色矩阵来填补这个颜色的空白,这样我就能得到校准的图像?

如果有比这更好的方法,请提出建议。

您可以计算两种颜色的商,即255/200,并将其输入到颜色矩阵的对角线值中。即

var cr = referenceRed/ actualRed;
...
float[][] colorMatrixElements = { 
new float[] {cr,  0,  0,  0, 0},        // red scaling factor
new float[] {0,  cg,  0,  0, 0},        // green scaling factor
new float[] {0,   0,  cb, 0, 0},        // blue scaling factor
new float[] {0,   0,  0,  1, 0},        // alpha scaling factor of 1
new float[] {0,   0,  0,  0, 1}};   

最新更新