opencv 在 qt opengl里显示图像
时间: 2023-11-10 12:53:00 浏览: 141
opencv显示图像
在Qt OpenGL中显示OpenCV图像,你可以使用以下步骤:
1. 将OpenCV图像转换为Qt图像格式:
```
cv::Mat cvImage; // 你的OpenCV图像
QImage qtImage(cvImage.data, cvImage.cols, cvImage.rows, cvImage.step, QImage::Format_RGB888);
```
2. 创建一个继承自QOpenGLWidget的自定义OpenGL窗口类,并重写其`paintEvent`函数:
```cpp
class OpenGLWidget : public QOpenGLWidget {
protected:
void paintEvent(QPaintEvent* event) override {
QPainter painter;
painter.begin(this);
painter.drawImage(0, 0, qtImage); // 在OpenGL窗口上绘制Qt图像
painter.end();
}
};
```
3. 在主窗口中使用自定义OpenGL窗口类:
```cpp
class MainWindow : public QMainWindow {
public:
MainWindow(QWidget* parent = nullptr) : QMainWindow(parent) {
OpenGLWidget* oglWidget = new OpenGLWidget(this);
setCentralWidget(oglWidget);
}
};
```
这样,你就可以在Qt OpenGL中显示OpenCV图像了。
阅读全文