iOS Objective-C中的自动白平衡

时间:2016-02-03 16:28:44

标签: ios objective-c image-processing gpuimage

我正试图在iOS上修复图片的白平衡。 在我的应用程序中,人们可以拍照并获得两件事:OCR和图像的“改进”版本。

要进行OCR,我使用GPUImage改进图像(使用GPUImageAdaptiveThresholdFilter)。但该图像仅由黑白像素组成。对于我的“改进”版本,我希望: - 正确的色彩平衡(意味着当我拍照时,我的白色真的是白色而不是黄色) - 良好的对比度。

我尝试使用GPUImageContrastFilterGPUImageWhiteBalanceFilterGPUImageWhiteBalanceFilter效果不错,但GPUImageWhiteBalanceFilter需要参数(例如temperature),这实际上取决于图像输入。

那么有没有办法“计算”这些参数,还是有客观的c算法来修复白平衡?既可以使用,也可以简单地使用GPUImage?

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用CoreImage自动增强图片。它会为你做分析。

这是通过获取一组CIFilter来完成的,其中包含您可以应用于图像的必要修改。

查看更多信息here

答案 1 :(得分:0)

可能需要一些时间,但您可以将OCR功能用作爬山(或其他)优化算法的一种评分算法。

  1. 拍摄部分照片(加快速度)
  2. 选择一些参数并改善图像
  3. 通过OCR运行 - 希望你的OCR可以给你一些信心,或者你有一些得分输出的方法(单词数量?)
  4. 更改参数 - 使用优化算法来决定如何执行此操作。
  5. 转到3 - 当你的时间用完或足够好时停止
  6. 如果OCR太慢 - 你可能不得不选择别的东西来得分。也许有一种方法可以将输出图像与已知良好的图像进行比较并获得差异。