Python OpenCV如何用背景替换剪切对象
我有两个图像,一个图像包含一个盒子,另一个没有。由于相机不在同一地点,并且有点平移,所以两张照片之间有一个小的垂直差异。我想剪下盒子,用另一张图片上的信息替换这个洞 我想实现这样的目标(计算机视觉课程的幻灯片) 我曾考虑过使用Python OpenCV如何用背景替换剪切对象,python,opencv,image-processing,background-subtraction,ransac,Python,Opencv,Image Processing,Background Subtraction,Ransac,我有两个图像,一个图像包含一个盒子,另一个没有。由于相机不在同一地点,并且有点平移,所以两张照片之间有一个小的垂直差异。我想剪下盒子,用另一张图片上的信息替换这个洞 我想实现这样的目标(计算机视觉课程的幻灯片) 我曾考虑过使用cv2.createBackgroundSubtractorMOG2()方法,但它似乎不能只处理两张图片 简单地从另一张图片中减去图片也不起作用,因为存在差异。 本课程建议使用RANSAC计算两张图片之间最可能的关系,并减去变化很大的区域。但我该如何填补这些漏洞呢 非常感
cv2.createBackgroundSubtractorMOG2()
方法,但它似乎不能只处理两张图片
简单地从另一张图片中减去图片也不起作用,因为存在差异。
本课程建议使用RANSAC计算两张图片之间最可能的关系,并减去变化很大的区域。但我该如何填补这些漏洞呢
非常感谢 您可以尝试使用此库来解决背景减法问题
该工具有python包装。如果您只使用一对图像(或仅使用少量图像),则图像拼接方法优于背景减法 这些步骤是:
显示了图像拼接的基本示例。如果两张图像中的人位于不同的位置,您将需要额外的工作,否则调整此代码应该不难。感谢您的快速回复,此库是否也可以处理两张图片而不是一个视频?我遵照您的建议,在扭曲图像时遇到了问题。我设法得到单应性,但只有部分图像正确扭曲。我相信这是由于两个摄像机在场景方向(Z方向)的视差造成的。有没有办法纠正这个问题?一种方法是从需要填充的区域的邻域中匹配特征点,以便估计的单应性对该区域更精确。我认为一本好的3D视觉教科书可能包含一个更合理的方法。