如何检测图像中的热点

2vi*_*on2 9 opencv photo image-processing computer-vision image-quality

如何使用opencv检测图像中的热点?我试过谷歌搜索,但无法得到它的线索.

描述: 我需要从实时视频流中过滤出好的图像.在这种情况下,我需要只检测帧中的热点.我需要在opencv中这样做.

什么是HotSpot?

热点是拍摄对象脸部的闪亮区域,这些区域是由闪光反射光亮表面或不均匀照明引起的.它倾向于使受试者看起来好像在出汗,这不是一个好看的样子.

更新: http ://answers.opencv.org/question/7223/hotspots-in-an-image/ http://en.wikipedia.org/wiki/Specular_highlight

以上两个链接也可以帮助我的帖子?

使用HotSpot的图像:

在此输入图像描述

没有HotSpot的图像:

在此输入图像描述

mmg*_*mgp 9

可以通过高斯滤波然后二值化来获得这些"热点"区域的自动粗略指示.期望"热点"比它周围的区域更亮,所以在高斯滤波之后它们将至少略微突出显示,同时,由于低通滤波的性质,图像伪像减少.

示例结果如下.简单转换为灰度后,在0.75(范围始终为[0,1])的二值化B,在HSB色彩空间的通道中进行高斯滤波后,在0.85处进行二值化:

在此输入图像描述 在此输入图像描述

在这两种情况下,由于假设"热点"不是太大,大型组件被移除.

  • @ 2vision2关于镜面清除的论文是一个很好的方法来做你所追求的,但请记住,没有绝对可靠的方法.它也很慢,这对你来说可能或不重要.同样,如果不清楚,则无法保证任何方法总能提供出色的结果.例如,http://i.imgur.com/A5Bov2Q.png是该方法的镜面免费图像,而http://i.imgur.com/g45tHu8.png是漫反射图像(它们令人毛骨悚然,由方式)从问题中的示例图像开始. (3认同)