1

我经营一个网站,上面有数千张用户提供的照片。我想要一个脚本来帮助我从好照片中剔除糟糕的照片。显然这不是 100% 可能的,但应该可以确定图像是否没有可辨别的聚焦区域?我认为?

我做了一些谷歌搜索,在这个主题上找不到太多。

我编写了一个非常简单的脚本,它遍历像素,并对相邻像素之间的亮度差异求和。这为清晰的对比度图像提供了高值,而为模糊/失焦图像提供了低值。但是,它远非理想,好像框架中有一个完美聚焦的小主体,以及一个漂亮的散景背景,它会给出一个低价值。

所以我想我想要的是一个脚本,它可以确定图像的一部分是否聚焦良好,如果没有,然后提醒我?

有什么好主意吗?我在浪费时间吗?

我也会对任何可以确定其他类型的“坏”照片的代码感兴趣——太暗、太亮、太平等等。

4

1 回答 1

1

太暗和太亮都很容易——在遍历每个像素时计算颜色平均值。

对于您的焦点问题,我认为您会遇到很多问题。我强烈建议您查找内核卷积,因为我有一种下沉的感觉,您会需要它。这使您可以根据邻居对像素执行更复杂的操作——这也是大多数 Photoshop 滤镜的完成方式!

一旦你有了数学背景,我要做的就是将你的图像转换为代表亮度的唯一值数组(而不是 RGB)。从那里,使用边缘查找器内核(Sobel 算子应该可以解决问题)并找到边缘。一旦完成,再次迭代,映射没有边缘的位,并从中计算没有边缘的最大正方形区域。它可能是 CPU 密集度最低的解决方案,尽管不是最深奥的。

于 2012-11-17T23:59:54.860 回答