隔离模糊图像的非模糊部分


10

我有一个用手机相机拍摄的图像,重点放在其中的一部分上,比如说一张脸或其他。我想-大概-集中在哪里。例如,聚焦区域周围的边界框。例如: 原版的 检测后

Answers:


7

通常,这是图像分割问题(http://en.wikipedia.org/wiki/Image_segmentation),您将尝试将图像的聚焦区域与非聚焦区域隔离开。

光学透镜无论如何都等效于低通滤波器,并且低通滤波器对信号的作用是通过限制较高的频率含量使其平滑。

在数字图像处理中,低频对应于大物体(一般形式),而高频对应于小物体(细节)。

因此,要隔离聚焦区域,您可能正在寻找相对于模糊区域具有较高标准偏差的区域,因为模糊区域的焦距平滑操作会使模糊区域具有较低的标准偏差。

中号×ñ

中号×ñ

对于帖子中的图像,直方图可能会表现出两种模式。一种对应于相对较高的标准偏差值(聚焦区域),另一种对应于相对较低的标准偏差值(模糊区域)。

然后,您可以将阈值定位在例如两种模式之间,以在您的聚焦区域和未聚焦区域之间建立标准,然后选择标准偏差高于阈值的所有“补丁”(或MxN窗口区域)。(有关更多信息,请参见:http : //en.wikipedia.org/wiki/Thresholding_%28image_processing%29

这将为您隔离图像的聚焦部分。

希望这可以帮助。


我将对您的答案进行深入阅读,并提供反馈,非常感谢
Humam Helfawi 2015年

非常感谢,伟大而详尽的回答,如果我使用opencv获得了不错的结果,我将分享实现,再次感谢
Humam Helfawi 2015年

顺便说一句,图像的灰色代表足够了吗?或者我需要处理每个通道吗?
Humam Helfawi

很高兴您发现它很有帮助。进行灰度处理可以很好地区分模糊区域和聚焦区域,但包括其他颜色信息可以帮助您指定更复杂的区域(例如,跟踪肖像中人脸的区域或仅将照片中的花朵隔离开)。您的帖子)。
A_A

讨论之后,该问题被重新编辑回原来的形式:meta.dsp.stackexchange.com/questions/1337/…@ vast-academician请添加您的评论作为单独的回复。主要部分已保存在:pastebin.com/kjCC1wM6
A_A

5

这是一种更简单的方法,它不涉及滑动窗口分析。

  • 将图像转换为灰度(这不是必需的,但是为了清楚起见,我假设您只有一个通道)

  • 计算两个方向的梯度

  • 计算幅度(或仅将梯度平方)

  • 求和两个方向上的两个梯度图像

如前所述,图像的聚焦部分将比非聚焦区域具有更高的频率。从总和中,您将得到两个投影,在该投影中,沿着该方向放置聚焦对象的那部分有很多变化(较高的值)。您现在可以执行以下操作:

  • 确定这些较高值的起点和终点。您可以使用简单的阈值(例如0.7 * maximum_value)或平滑轮廓,获取二阶导数并检查其中的最大值。

  • 上一步的“开始/停止”位置为您提供了沿两个方向放置像素区域指示矩形的像素位置。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.