我正在尝试开发对象检测算法。我计划比较2个具有不同焦距的图像。一张正确聚焦对象的图像和一张正确聚焦背景的图像。

通过阅读有关autofocus algorithm的信息。我认为可以使用对比检测被动式自动对焦算法来完成。它对传感器上的光强度起作用。

但是我不确定图像文件中的光强度值是否与传感器中的光强度值相同。 (不是RAW图像文件。是jpeg图像。)jpeg图像中的光强度值是否与传感器上的相同?我可以使用它通过对比检测来检测对焦的正确性吗?有没有更好的方法来检测哪个图像区域正确聚焦在图像上?

最佳答案

我尝试对图像进行处理,并且看到了一些进展。这就是我使用opencv所做的:


使用cvtColor(I,Mgrey,CV_RGB2GRAY)将图像转换为灰色;
由于它们很大(几个Mb),因此对其进行了下采样/降采样
使用http://docs.opencv.org/modules/imgproc/doc/filtering.html?highlight=sobel#cv.Sobel获取绝对水平和垂直梯度的总和。
结果如下。聚焦时的前景看起来确实比背景明亮,反之亦然。






您可以尝试使用matchTemplate()上原始灰色图像上的转换来匹配和减去这些图像;然后使用结果的凸包作为grab cut的初始化蒙版并插入彩色图像来组装零件。如果您不熟悉抓斗,请选择我对此question的答案。

但是,也许更简单的方法也可以在这里工作。您可以尝试对渐变图像应用强blur而不是精确匹配,然后查看这种情况下的区别。下图演示了当我改变二进制蒙版中的差异时的想法。

10-04 23:28