cv2 椭圆拟合_使用不同参数的cv2.elliple时的椭圆拟合异常?

我在Windows8.1上使用OpenCV2.4.11和Python2.7.9。我试着把椭圆画在我的轮廓上,我遇到了一些我无法理解的东西。在

当我调用cv2.fitEllipse并获得返回值,然后用下面的代码将返回值直接传递到cv2.elliple中时,屏幕上绘制的椭圆非常完美,并使我的轮廓线最佳拟合:contours, hierarchy = cv2.findContours(binaryimage,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)

for ind, cont in enumerate(contours):

elps = cv2.fitEllipse(cont)

#Feed elps directly into cv2.ellipse

cv2.ellipse(displayframe,elps,(0,0,255))

cv2.imshow("Perfectly fitted ellipses", displayframe)

以上结果为

b9e31d34be375658eb3c3f45ed3589bc.png

但是,当我试图解析实际的椭圆参数并通过传入这些参数手动绘制椭圆时(参见下面的代码),它会创建椭圆的“膨胀”版本,在轮廓周围给自己一个非常舒适(但又令人讨厌)的空间支架,如下所示:

^{pr2}$

这种恼人现象的结果是:

595d250b5a3a45ee1114f38117873510.png

是的,我知道使用第一种方法可以解决绘制正确椭圆的问题。但我想知道它为什么要这样做,因为实际上,我需要椭圆的参数来做一些斑点跟踪,如果被解析的参数最终给出了像那样宽的不匹配的椭圆,它真的准确吗?cv2.elliple()绘图函数有问题吗?有什么问题吗?cv2.fitEllipse函数中的椭圆参数是否准确?在

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值