10

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

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

什么是热点?

热点是被摄对象脸上的闪亮区域,由闪光从闪亮的表面反射或光线不均匀引起。它往往使拍摄对象看起来好像在出汗,这不是一个好看的样子。

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

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

带有热点的图像:

在此处输入图像描述

没有热点的图像:

在此处输入图像描述

4

1 回答 1

9

这些“热点”区域的自动粗略指示可以通过高斯滤波和二值化来获得。期望“热点”比它周围的区域亮得多,因此在经过高斯滤波后,它们至少会稍微突出显示,同时由于低通滤波的性质,图像伪影会减少.

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

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

在这两种情况下,由于“热点”不是太大的假设,大型组件都被删除了。

于 2013-02-11T17:42:57.650 回答