2015-10-18 110 views
0

我目前正在使用OpenCV开发Android上的道路标志检测应用程序,并发现在实时处理帧时,我的相机经常会专注于图像的较亮部分,比如天空,而下面的所有东西(道路,树木和标志)都会变黑。因为它我的应用程序无法检测到这些迹象,因为它们在这种特殊情况下太暗。 有没有人需要处理这个问题并找到合适的解决方案?如果是这样,我将不胜感激任何线索(特别是在实时处理中很重要的性能)。在openCV中使图像更暗的部分更亮

回答

1

作为预处理,您可以应用强度标准化。作为一个具体的例子直方图均衡可应用于: http://docs.opencv.org/doc/tutorials/imgproc/histograms/histogram_equalization/histogram_equalization.html

用Java编写的示例代码: http://answers.opencv.org/question/7490/i-want-a-code-for-histogram-equalization/?answer=11014#post-id-11014

注意,这些额外的步骤可能您的整体检测放慢operation.To提高整体的速度,可以减少您的感兴趣的地区通过天空侦测。

+0

谢谢,我会试试看。 – Tomek

1

你说相机专注于明亮的物体,如天空。 在大多数现代手机中,您可以设置包含在自动对焦计算中的图像区域。由于天空始终位于图像的上半部分(在您处理手机方向后),您可以将对焦区域设置为图像的最下半部分。这首先会照顾到这个问题。

如果您的意思是说相机没有专注于明亮的物体,而是使用白色物体进行白平衡,则可以按照聚焦所述的相同方式解决此问题。如果这没有帮助,请尝试直方图均衡和伽马校正技术。这将有助于提高对比度