【发布时间】:2013-12-06 17:36:33
【问题描述】:
我正在尝试从两个图像中删除前景,这是一对示例图像:
如您所见,在拍摄第二张照片之前,百威酒瓶已从场景中移除。
这些照片是用针孔相机 (iPhone) 拍摄的,棘手的部分是我手持相机,因此无法保证图像逐个像素完美对齐,所以一个简单的减号 -阈值方法不起作用。
然后,我决定使用来自 OpenCV 的 findHomography 和 warpPerspective 执行图像配准,这是结果图像:
这张图片被我从findHomography 得到的矩阵扭曲了,它提高了对齐质量,但仍然没有那么对齐,所以我可以使用一种简单的方法来移除前景。
所以,最后,我决定实现一个“模糊减法”算法:对于 image1 中的每个像素,我将查看 image2 中的一个 7x7 邻居(一个 7 x 7 内核?),使用灰度的最小差异作为减号的结果,并将结果阈值转换为二进制图像,这就是我得到的:
结果还是不好。注意瓶子里的白色整体,这是由于前景和背景的灰度值相似而产生的。所以我不知道现在该怎么办。
我可以想到两种解决问题的方法,第一种是获得更好对齐的图像对,然后简单地减去这些对;二是使用更稳健的方式提取前景。
谁能给我一些关于如何处理这类问题的建议?我相信应该有一些最先进的算法或处理管道,但是在谷歌搜索之后,我什么也没得到。
我正在使用带有 C++ 的 OpenCV,如果您能告诉我如何使用这些工具来完成它,那就太好了。
提前非常感谢!
【问题讨论】:
-
尝试使用颜色差异而不是灰度差异,它会提供更多的辨别力。
-
@DavidNilosek,我也尝试过 HSV 色彩空间,我得到的非常相似,我的意思是,整体仍然存在。
-
您是否尝试过将一些特征检测与您的算法相结合..?使用 FAST 或 ORB 检测一些角落,然后在结果图像上执行
findHomography。干杯。 -
谢谢@scap3y,目前我使用的是SURF特征点,上图是使用SURF特征点对齐的。特征点的类型会影响结果吗?
-
当然会。!尝试各种特征检测器,看看哪一个效果最好。阅读相应的文献。您可能想研究一些背景减法技术(我个人最喜欢的是 GMM,但它确实取决于应用程序).. HTH
标签: c++ opencv image-processing computer-vision