我想要一种算法来检测图像是否具有高专业质量或对比度差、光线不足等情况。我该如何设计这样的算法。
我觉得这是可行的,因为如果我在 picassa 中按下一个按钮,它会尝试修复照明、对比度和颜色。现在我已经看到,如果我按下自动修复按钮,在好图片中的变化并不像在坏图片中那么高。这可以用作引导吗?
请向我提出任何想法。另外,如果以前已经这样做过,并且我正在做轮子发明的事情,请阻止我并指出我以前的工作。
非常感谢,
我想要一种算法来检测图像是否具有高专业质量或对比度差、光线不足等情况。我该如何设计这样的算法。
我觉得这是可行的,因为如果我在 picassa 中按下一个按钮,它会尝试修复照明、对比度和颜色。现在我已经看到,如果我按下自动修复按钮,在好图片中的变化并不像在坏图片中那么高。这可以用作引导吗?
请向我提出任何想法。另外,如果以前已经这样做过,并且我正在做轮子发明的事情,请阻止我并指出我以前的工作。
非常感谢,
你这样做太难了。我在生产代码中通过生成图像的直方图来处理这个问题,丢弃异常值(1 个黑色像素并不意味着整个图像有很多黑色;1 个白色像素并不意味着明亮的图像),然后查看是否由此产生的分布覆盖了足够的亮度范围。
在统计方面,您还可以查看直方图是否接近具有令人满意的大标准偏差的高斯分布。如果整个图像是中等灰色且 stddev 很小,那么根据定义,您的图像对比度较低。如果平均值大约是中灰色,但 stddev 涵盖了从 20% 到 80% 的亮度级别,那么您就有了不错的对比度。
但请注意,这些方法都不需要任何类似于机器学习的东西。
有几个开源程序可以进行您正在寻找的图像校正,作为低质量图像的指示。Gimp(请参阅文档中的增强照片)和ImageMagick (请参阅示例中的对比度拉伸、标准化、自适应锐化、自动级别)。
研究他们的代码将是一个好的开始,因为检测低质量图像的一种明显方法是将图像通过上述增强算法之一,并寻找原始图像和处理后的图像之间的差异。