我是OpenCv的新手,我正在创建一个程序,使用GrabCut算法将鞋子从背景中分割出来,然后我想将鞋子粘贴到白色背景上,但我在这方面很努力
我尝试了cv2.add()将这两个图像添加到一起,但这两个图像的大小必须相同,我不能保证,因为程序会提示用户上传图像
我还尝试了whiteBgImg=255-grabCutImg在鞋子不在的地方使背景变白,但这似乎会影响最终图像,这是一个问题,因为我需要对图像执行特征检测和匹配
提前感谢您的建议!:)
原始图像: Original Shoe
最终图像(在grabcut和whiteBgImg=255-grabCutImg应用后):Grabcut Shoe
在Python/OpenCV中有一种方法可以做到这一点
请注意,我反转了您的图像以恢复原始图像。如果在反转之前先从实际原稿开始,则跳过反转。
输入:
反向输入以恢复原始状态:
遮罩(阈值化后清洁边界):
结果:
如果要将一个图像放在另一个图像的前面,可以按如下操作:
如果要在y轴上浓缩图像,图像的大小必须相同。为此,您可以查看cv2.resize,也可以使用np.zeros创建一个空白图像,以向图像添加填充,以及我在第一种方法中说过的“如果您想将一个图像放在另一个图像之前”
相关问题 更多 >
编程相关推荐