我在iOS中有关于相机功能的入门级问题。同时为具有照片提交功能的应用程序工作,我需要检查照片的对比度以检查照片的清晰度。如果不在指定的范围内,我将通过警报重新拍照。我过去几个小时过滤谷歌,但仍然在搜索栏上,还没有找到任何有用的东西来检查照片的对比度。
答案 0 :(得分:3)
由于您正在拍摄照片,我猜您正在寻找一种方法来检测曝光过度/曝光不足的照片。
这样做的一种常见方法是计算图像histogram。如果您的图像曝光不足,您应该会看到直方图的下(暗)端看起来"剪裁",例如
如果图像曝光过度,则会修剪亮区。
要计算直方图,您可以使用OpenCV或GPUImage。
如果直方图被剪裁,则照片受到曝光不足/过度曝光的不可挽回的损害 - 量化可能会丢失太多的图像数据。但是,如果不是,则可以使用直方图均衡来标准化图像的对比度级别。 Here is an good document using OpenCV。你将失去一些色彩保真度,但这基本上是"增强图像"图像编辑软件中的过滤器。
答案 1 :(得分:3)
希望使用kCGImagePropertyExifDictionary和
const CFStringRef kCGImagePropertyExifContrast和 - kCGImagePropertyExifContrast 对比度应用于图像。
- 醇>
const CFStringRef kCGImagePropertyExifBrightnessValue - 亮度值。
在iOS 4.0及更高版本中可用apple reference link
可以帮助您计算图像的亮度和对比度信息