Answers:
通常,这是图像分割问题(http://en.wikipedia.org/wiki/Image_segmentation),您将尝试将图像的聚焦区域与非聚焦区域隔离开。
光学透镜无论如何都等效于低通滤波器,并且低通滤波器对信号的作用是通过限制较高的频率含量使其平滑。
在数字图像处理中,低频对应于大物体(一般形式),而高频对应于小物体(细节)。
因此,要隔离聚焦区域,您可能正在寻找相对于模糊区域具有较高标准偏差的区域,因为模糊区域的焦距平滑操作会使模糊区域具有较低的标准偏差。
对于帖子中的图像,直方图可能会表现出两种模式。一种对应于相对较高的标准偏差值(聚焦区域),另一种对应于相对较低的标准偏差值(模糊区域)。
然后,您可以将阈值定位在例如两种模式之间,以在您的聚焦区域和未聚焦区域之间建立标准,然后选择标准偏差高于阈值的所有“补丁”(或MxN窗口区域)。(有关更多信息,请参见:http : //en.wikipedia.org/wiki/Thresholding_%28image_processing%29)
这将为您隔离图像的聚焦部分。
希望这可以帮助。
这是一种更简单的方法,它不涉及滑动窗口分析。
将图像转换为灰度(这不是必需的,但是为了清楚起见,我假设您只有一个通道)
计算两个方向的梯度
计算幅度(或仅将梯度平方)
求和两个方向上的两个梯度图像
如前所述,图像的聚焦部分将比非聚焦区域具有更高的频率。从总和中,您将得到两个投影,在该投影中,沿着该方向放置聚焦对象的那部分有很多变化(较高的值)。您现在可以执行以下操作:
确定这些较高值的起点和终点。您可以使用简单的阈值(例如0.7 * maximum_value)或平滑轮廓,获取二阶导数并检查其中的最大值。
上一步的“开始/停止”位置为您提供了沿两个方向放置像素区域指示矩形的像素位置。