opencv RotatedRect用法 c++和qt
时间: 2023-12-02 08:03:09 浏览: 144
opencv在Qt中的应用
3星 · 编辑精心推荐
在C++中,使用OpenCV的RotatedRect可以按照以下步骤进行:
1. 导入OpenCV库头文件:
```c++
#include <opencv2/core.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/highgui.hpp>
```
2. 创建RotatedRect对象:
```c++
cv::RotatedRect rect(cv::Point2f center, cv::Size2f size, float angle);
```
其中,center表示矩形的中心点,size表示矩形的宽度和高度,angle表示矩形的旋转角度。
3. 在图像上绘制RotatedRect:
```c++
cv::Mat image;
cv::rectangle(image, rect.boundingRect(), cv::Scalar(0, 255, 0), 2);
```
其中,boundingRect()函数可以返回包围RotatedRect的矩形,cv::Scalar(0, 255, 0)表示绘制矩形的颜色,2表示绘制矩形的线宽。
在Qt中,可以将OpenCV的Mat对象转换为Qt的QImage对象,然后在Qt中显示图像:
```c++
cv::Mat image;
// load image
QImage qimage(image.data, image.cols, image.rows, QImage::Format_RGB888);
QPixmap pixmap = QPixmap::fromImage(qimage);
ui->label->setPixmap(pixmap);
```
其中,QImage的构造函数可以接收指向图像数据的指针,图像的宽度和高度,以及图像的格式。然后使用QPixmap将QImage转换为可以在Qt中显示的图像。最后,将图像显示在Qt的标签控件上。
以上是使用OpenCV的RotatedRect的基本用法,可以根据具体需求进行调整和扩展。
阅读全文