opencv c++ 画个旋转矩形
时间: 2024-07-04 20:01:07 浏览: 221
python opencv实现旋转矩形框裁减功能
OpenCV (Open Source Computer Vision Library) 是一个广泛使用的计算机视觉和机器学习库,它提供了丰富的功能,包括图像处理、对象识别等。要在C++中使用OpenCV绘制旋转矩形,你需要使用`cv::RotatedRect`结构以及`cv::drawContours`函数。
以下是一个简单的示例,展示如何创建一个旋转矩形并将其绘制到OpenCV窗口上:
```cpp
#include <opencv2/opencv.hpp>
int main() {
// 创建一个随机的矩形中心点
cv::Point2f center(100, 100);
// 定义矩形的尺寸
float width = 200, height = 150;
// 定义旋转角度(这里以45度为例)
float angle = 45;
// 创建一个旋转矩形
cv::RotatedRect rotated_rect(center, cv::Size(width, height), angle);
// 创建一个空的灰度图像
cv::Mat img(600, 600, CV_8UC1, cv::Scalar(255));
// 使用蓝色绘制矩形
cv::Scalar color(255, 0, 0);
cv::drawContours(img, std::vector<cv::RotatedRect>{rotated_rect}, -1, color, 2, cv::LINE_AA);
// 显示图像
cv::imshow("Rotated Rectangle", img);
cv::waitKey();
return 0;
}
```
在这个例子中,我们首先定义了矩形的中心、尺寸和旋转角度,然后用这些参数创建了一个`cv::RotatedRect`对象。接着,我们使用`cv::drawContours`函数将这个旋转矩形绘制在图像上。最后,显示图像并等待用户按键。
阅读全文