【问题标题】:How to implement color correction based on known background color?如何实现基于已知背景颜色的颜色校正?
【发布时间】:2020-08-07 05:58:22
【问题描述】:

我有一个使用统一灰色背景捕获的面部图像数据集。由于采集过程中的光照变化,图像不再具有相同的色调。所有图像的背景颜色看起来都不同。 我想找到确切的肤色,并想利用所有图像都有统一的灰色背景这一事实来实现颜色校正。如何使用 python 来实现?

【问题讨论】:

  • 你也想只修正脸色还是头发颜色?
  • 在您的问题中,您说背景因图像而异,但在标题中您声明背景是已知的?
  • Ground Truth 背景为 RGB 119,119,199,但由于光照条件的变化,图像似乎具有不同的灰色阴影。
  • 我想对包括脸部和头发在内的整个图像进行颜色校正。这样校正后的背景像素为 RGB (119,119,119)
  • 究竟是什么让背景颜色发生了变化?

标签: python algorithm opencv image-processing


【解决方案1】:

假设您的像素转换为 0,0,0(黑色)到 1,1,1(白色)范围内的浮点数。您在 3D (RGB) 空间中有一个从图片背景到已知值的向量。要进行校正,请通过将每个分量乘以所需校正的幅度来计算校正。因此,如果您将 dR、dG、dB 作为差异,都在 0.0 和 1.0 之间,并且 R、G、B 是一个像素,则 Rnew = R * (1.0 + dR) 最大限幅为 1.0。这将使黑色像素保持黑色。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 2013-11-21
    • 2016-10-25
    • 2014-08-17
    • 1970-01-01
    • 2010-09-23
    • 1970-01-01
    相关资源
    最近更新 更多