python目标轮廓提取_如何在opencv2.4.11python中调整轮廓大小?(目标:对象提取)...

我是opencv的新手,请原谅我的无知。。。在

基本上:我对我的形象感兴趣。我想把它提取出来。在

我的问题来自于缩小原始图像的尺度以便于处理。我在较小的图像上找到了物体的轮廓。我真正想做的是利用轮廓的信息从原始的全尺寸图像中提取物体。在

我真的只能想到两种方法来实现这一点,但我不知道在opencv中哪种方法是有意义的:调整轮廓大小。然后在原图上画出来。在

(我正在使用的那个,没有成功…)使用轮廓创建一个蒙版。调整遮罩的大小。然后将遮罩添加到原始图像中。在

我用的是2号,但我觉得面罩有问题。调整大小后,它不再包含轮廓。在

以下是我当前代码的重要部分:image = cv2.imread(path)

orig = image.copy()

...

#resize the image

image = cv2.resize(image, dim, interpolation = cv2.INTER_AREA)

....

#convert to gray scale

...

#get contour

(cnts, _) = cv2.findContours(edged.copy(), cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

...

screenCnt = cv2.approxPolyDP(c, 0.01 * peri, True) #

...

#create the mask

mask = np.ones(image.shape,np.uint8)*255

cv2.drawContours(mask,[screenCnt],0,(0,0,0),-1)

cv2.imshow("Small mask",mask) #

print(mask.shape) #

cv2.waitKey(0)

#now resize the mask

mask_big = cv2.resize(mask,(0,0),fx=ratio,fy=300)

cv2.imshow("Big mask",mask_big) #

cv2.waitKey(0)

我一直在网上搜索,运气不好,但我想我遗漏了一些基本的东西。

万分感谢所有的回答者!在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值