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

时间:2014-04-08 22:43:58

标签: image algorithm colors compare photoshop

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

我需要一种算法,将来自一个扫描仪的卡片与来自第二个扫描仪的相同的卡片(彩色目标)进行比较,以创建一个颜色配置文件,对第一个扫描仪中的颜色偏差进行标准化。配置文件应包含可手动记录的photoshop调整设置。

Hue/Sat Adjustment | Red , Hue +5 , Sat -10
Levels Adjustment | Black Point , 10

我可以在PHP或Javascript中工作。

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

我应该使用哪些具体过程来比较扫描以创建这些颜色配置文件?

谢谢!

1 个答案:

答案 0 :(得分:1)

1.我认为HSV不是那种方式

  • 所有常用扫描仪/相机我知道通过带通滤波器扫描R,G,B
  • 所以你必须管理R,G,B(很可能是单独的)而不是整个颜色空间
  • 使用RGB空格代替!!!

2.normalization

  • 您必须获得每个色带(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为每个扫描仪
  • 或创建反向传输功能
  • 并将所有图像转换为标准化强度

如果所有卡的测试图像不相同

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