java求坐标x的对称点_如何在opencv中获取旋转椭圆长轴的起点和终点坐标(x,y)?...

我正在执行对象的运动跟踪,我正在尝试识别对象的正面和背面 . 物体是不对称的,这意味着轮廓的质心比背部更接近前部 . 使用这些信息,我接近这个如下:

绘制物体的轮廓

查找质心

centroidx, centroidy = int(moments['m10']/moments['m00']), int(moments['m10']/moments['m00'])

绘制边界椭圆

cv2.fitEllipse(contour)

如下计算长轴长度(如图所示)

MAx, MAy = int(0.5 * ellipseMajorAxisx*math.sin(ellipseAngle)), int(0.5 * ellipseMajorAxisy*math.cos(ellipseAngle))

计算长轴的开始和结束x,y坐标

MAxtop, MAytop = int(ellipseCentrex + MAx), int(ellipseCentrey + MAy)

MAxbot, MAybot = int(ellipseCentrex - MAx), int(ellipseCentrey - MAy)

确定哪个点更接近轮廓的质心

distancetop = math.sqrt((centroidx - MAxtop)**2 + (centroidy - MAytop)**2)

distancebot = math.sqrt((centroidx - MAxbot)**2 + (centroidy - MAybot)**2)

min(distancetop, distancebot)

我遇到的问题是,虽然我大部分时间都得到了椭圆

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值