检查拍摄的照片的对比度

时间:2015-07-22 10:12:42

标签: ios objective-c

我在iOS中有关于相机功能的入门级问题。同时为具有照片提交功能的应用程序工作,我需要检查照片的对比度以检查照片的清晰度。如果不在指定的范围内,我将通过警报重新拍照。我过去几个小时过滤谷歌,但仍然在搜索栏上,还没有找到任何有用的东西来检查照片的对比度。

2 个答案:

答案 0 :(得分:3)

由于您正在拍摄照片,我猜您正在寻找一种方法来检测曝光过度/曝光不足的照片。

这样做的一种常见方法是计算图像histogram。如果您的图像曝光不足,您应该会看到直方图的下(暗)端看起来"剪裁",例如

Underexposed 曝光不足

如果图像曝光过度,则会修剪亮区。

Overexposed 过度曝光

理想情况下,图像在直方图的远端包含非常少的像素: enter image description here 平衡

要计算直方图,您可以使用OpenCV或GPUImage

直方图均衡

如果直方图被剪裁,则照片受到曝光不足/过度曝光的不可挽回的损害 - 量化可能会丢失太多的图像数据。但是,如果不是,则可以使用直方图均衡来标准化图像的对比度级别。 Here is an good document using OpenCV。你将失去一些色彩保真度,但这基本上是"增强图像"图像编辑软件中的过滤器。

答案 1 :(得分:3)

希望使用kCGImagePropertyExifDictionary和

  
      
  1. const CFStringRef kCGImagePropertyExifContrast和 - kCGImagePropertyExifContrast   对比度应用于图像。

  2.   
  3. const CFStringRef kCGImagePropertyExifBrightnessValue - 亮度值。

  4.   

在iOS 4.0及更高版本中可用apple reference link

可以帮助您计算图像的亮度和对比度信息

Reference Link