[英]Tracking hand rotation with RotatedRect
我在一个项目中使用 OpenCV 来检测手势,我设法隔离了手并绘制了手现在非常清晰地出现的凸面。 我的目标是检测手是否在旋转或向左或向右移动。
我使用 RotatedRect 来确定手是否旋转,但似乎 RotatedRect 总是向左或向右(主要是向左)倾斜,即使我的手是直的。 我怎么可能解决这个问题?
这是我创建和绘制 RotatedRect 的代码:
double angle;
RotatedRect rc = minAreaRect(biggestcontours[hand]);
if (rc.size.width < rc.size.height) {
angle = 90 - rc.angle;
}
else {
angle = -rc.angle;
}
Point2f rect_points[4];
rc.points(rect_points);
for (int j = 0; j < 4; j++)
{
line(onehand, rect_points[j], rect_points[(j + 1) % 4], Scalar(255, 0, 0));
}
备注:biggestcontours[hand] 包含我手的轮廓。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.