cv::Point2f point1[4]; minrect.points(point1);写一个函数判断minrect返回的点的位置分别为矩形的哪一个位置,加上注释
时间: 2024-03-01 20:56:21 浏览: 78
好的,这里是一个判断 minrect 返回的点在矩形的哪一个位置的函数,注释已经添加在代码中了。
```c++
void judgeMinRectPosition(cv::RotatedRect minrect) {
// 定义矩形四个角点的坐标
cv::Point2f point1, point2, point3, point4;
// 获取矩形四个角点的坐标
minrect.points(&point1, &point2, &point3, &point4);
// 计算矩形长和宽
float width = minrect.size.width;
float height = minrect.size.height;
// 判断矩形位置
if (width > height) {
if (point1.y < point2.y) {
std::cout << "位置:上" << std::endl;
} else {
std::cout << "位置:下" << std::endl;
}
} else {
if (point1.x < point2.x) {
std::cout << "位置:左" << std::endl;
} else {
std::cout << "位置:右" << std::endl;
}
}
}
```
函数中,我们首先定义了矩形的四个角点的坐标,并且通过 `minrect.points()` 函数获取矩形的四个角点的坐标。接着,我们计算了矩形的长和宽,然后根据长和宽的大小关系和角点的坐标位置,判断出矩形的位置。如果矩形的宽大于高,那么判断矩形在上面还是下面;如果矩形的高大于宽,那么判断矩形在左边还是右边。最后,根据判断结果输出矩形的位置。
阅读全文
相关推荐













