将一个相机的颜色配置文件映射到另一个
Map one camera's colour profile to another
我有两个相机(A 和 B),我拍摄了校准场景的照片,然后校正了失真并使用特征映射来获得像素精确配准,结果如下:
如您所见,颜色响应大不相同。我现在想做的是用 A 拍一张新照片并回答问题:如果我用相机 B 会是什么样子?
是否有一些现有的技术或算法可以在两个相机的颜色之间进行转换spaces/profiles?
根据您提供的图像,不难将它们分割成小方块。之后取两个图像中每个方块的平均值(或更好的中值)。现在你有 2*m*n 个值,如下所示:MeansReference_(m*n)
,MeansQuery_(m*n)
。使用线性颜色校正矩阵为:
你可以构建这个线性系统:
MeansReference[i][j]= C * MeansQuery[i][j]
其中:
MeansReference[i][j]
是 Reference
图像中正方形 [i,j]
颜色 (R,G,B)
的向量 (3*1)。
MeansQuery[i][j]
是 Query
图像中正方形 [i,j]
颜色 (R,G,B)
的向量 (3*1)。
C
是 3*3
矩阵 (a11,a12,... ,a33)
现在,对于每个 i,j,您将得到 3 个线性方程(对于 R,G,B
)。由于有 9 个变量 (a11...a33
),您至少需要 9 个等式,这意味着至少有 3 个正方形(每个正方形为您提供 3 个等式)。然而,你构建的方程式越多,你获得的准确性就越高。
如何求解方程个数多于变量个数的线性方程组?使用 Batch-LSE
。您可以在 Neuro-Fuzzy-and-Soft-Computing-Jang-Sun-Mizutan 书籍或任何在线资源中找到有关它的详细信息。
找到 9 个变量后,您就有了一个颜色校正矩阵。只需将它应用到新相机的任何图像上,您就会得到一张看起来像旧相机拍摄的图像。如果您想要相反的结果,请改为应用 C^-1
。
祝你好运!
我有两个相机(A 和 B),我拍摄了校准场景的照片,然后校正了失真并使用特征映射来获得像素精确配准,结果如下:
如您所见,颜色响应大不相同。我现在想做的是用 A 拍一张新照片并回答问题:如果我用相机 B 会是什么样子?
是否有一些现有的技术或算法可以在两个相机的颜色之间进行转换spaces/profiles?
根据您提供的图像,不难将它们分割成小方块。之后取两个图像中每个方块的平均值(或更好的中值)。现在你有 2*m*n 个值,如下所示:MeansReference_(m*n)
,MeansQuery_(m*n)
。使用线性颜色校正矩阵为:
你可以构建这个线性系统:
MeansReference[i][j]= C * MeansQuery[i][j]
其中:
MeansReference[i][j]
是 Reference
图像中正方形 [i,j]
颜色 (R,G,B)
的向量 (3*1)。
MeansQuery[i][j]
是 Query
图像中正方形 [i,j]
颜色 (R,G,B)
的向量 (3*1)。
C
是 3*3
矩阵 (a11,a12,... ,a33)
现在,对于每个 i,j,您将得到 3 个线性方程(对于 R,G,B
)。由于有 9 个变量 (a11...a33
),您至少需要 9 个等式,这意味着至少有 3 个正方形(每个正方形为您提供 3 个等式)。然而,你构建的方程式越多,你获得的准确性就越高。
如何求解方程个数多于变量个数的线性方程组?使用 Batch-LSE
。您可以在 Neuro-Fuzzy-and-Soft-Computing-Jang-Sun-Mizutan 书籍或任何在线资源中找到有关它的详细信息。
找到 9 个变量后,您就有了一个颜色校正矩阵。只需将它应用到新相机的任何图像上,您就会得到一张看起来像旧相机拍摄的图像。如果您想要相反的结果,请改为应用 C^-1
。
祝你好运!