Image 脚本颜色配置文件以跨多个扫描仪规范化颜色

Image 脚本颜色配置文件以跨多个扫描仪规范化颜色,image,algorithm,colors,compare,photoshop,Image,Algorithm,Colors,Compare,Photoshop,我自愿参与的一个社区项目,旨在创建可收藏交易卡的高分辨率图像。这些卡片由其他贡献者扫描,使用不同品牌、型号和颜色偏差的扫描仪 我需要一种算法,将一台扫描仪上的一个卡盘与另一台扫描仪上相同的卡盘(彩色目标)进行比较,以创建一个颜色配置文件,使第一台扫描仪中的颜色偏差正常化。配置文件应包括手动可记录的photoshop调整设置 即 我可以用PHP或Javascript工作 在我的第一次尝试中,我将扫描中的每个像素转换为HSB,并将结果排序为红色、黄色、绿色、青色、蓝色和洋红的数组。然后,我平均了颜色

我自愿参与的一个社区项目,旨在创建可收藏交易卡的高分辨率图像。这些卡片由其他贡献者扫描,使用不同品牌、型号和颜色偏差的扫描仪

我需要一种算法,将一台扫描仪上的一个卡盘与另一台扫描仪上相同的卡盘(彩色目标)进行比较,以创建一个颜色配置文件,使第一台扫描仪中的颜色偏差正常化。配置文件应包括手动可记录的photoshop调整设置

我可以用PHP或Javascript工作

在我的第一次尝试中,我将扫描中的每个像素转换为HSB,并将结果排序为红色、黄色、绿色、青色、蓝色和洋红的数组。然后,我平均了颜色组,并计算了扫描之间的差异。我创建了一个Photoshop色调/饱和度调整使用差色调和饱和度金额对坏扫描。结果几乎不够准确

我应该使用什么特定的过程来比较扫描以创建这些颜色配置文件


谢谢

1.我不认为HSV是正确的选择

  • 所有常用的扫描仪/摄像机我知道通过带通滤波器扫描R、G、B
  • 所以你必须管理R,G,B(很可能是分开的),而不是整个颜色空间
  • 使用RGB空间代替
2.规范化

  • 您必须获得每个色带(R、G、B)的传输函数
  • 并从中获得多项式(饱和度、亮度、伽马校正)
  • 通常,这对于每个波段都足够了:

    R(ir) = R0 + R1*ir + R2*ir*ir
    G(ig) = G0 + G1*ig + G2*ig*ig
    B(ib) = B0 + B1*ib + B2*ib*ib
    
  • R、 G,B是非标准化图像颜色

  • ir、ig、ib是归一化图像中对应的颜色
  • 求常数R(0,1,2),G(0,1,2),B(0,1,2)
    • 扫描一些测试图像(如卡的边框…)
    • 定位R、G、B梯度(参考扫描仪上的颜色为ir、ig、ib)
    • 在标准化扫描仪上,从相同位置(R(ir)、G(ig)、B(ib))获取颜色
  • 现在只需为每个扫描仪创建转换表R->ir,G->ig,B->ib
  • 或创建反向传输功能
  • 并将所有图像转换为标准化强度
如果所有卡的测试图像不相同

  • 卡片边框可能因卡片而异
  • 不仅在颜色上,而且在位置上
  • 然后你必须通过在测试图像中搜索正确的区域来调整它

你不能只取整个图像的平均值,你必须确定每个图像中应该匹配的区域,并取这些区域的平均值。这就是为什么我要分别取每个颜色范围的平均值,然后分别调整它们。如果我无法对通道或颜色范围进行全面比较,这可能会让我不知所措。作为一个实验,将测试图像分割为您描述的颜色分组,并用它所属的颜色分组替换每个像素。我想你会对结果感到惊讶的。
R(ir) = R0 + R1*ir + R2*ir*ir
G(ig) = G0 + G1*ig + G2*ig*ig
B(ib) = B0 + B1*ib + B2*ib*ib