Qt中显示opencv生成图片
来源:互联网 发布:bi数据产品经理 编辑:程序博客网 时间:2024/05/20 22:31
先给出本文章的转载地址:Qt中显示opencv生成图片
注:把opencv的运行结果放到qt界面指定的位置,而不是opencv自己独立的小窗口。
主要思路就是: 不是把opencv那个窗口嵌入到qt里面,而是把opencv生成的图片数据在qt 里面表示出来,那样就可以随意操作了。
首先在mainwindow.h中添加私有成员变量:
QImage * qImage; // qt 中的图片类型指针 IplImage * image; // opencv里的图片类型指针 IplImage * tempImage;
然后在响应函数处添加如下代码:
void MainWindow::on_get_picture_clicked(){ //第一步:下面是加载一张图片,是借助opencv函数来加载的图片 this->image = cvLoadImage("test.jpg",1);// 用opencv函数加载一张图片 // 第二步:实例化一个空的QImage 和一个 IplImage this->qImage = new QImage(QSize(this->image->width,this->image->height),QImage::Format_RGB888); // 根据上面加载到的图片,建立一个相同格式(指的是长和高)的opencv里的图片对象 this->tempImage = cvCreateImageHeader(cvSize(this->image->width,this->image->height),8,3); // 第三步 this->tempImage->imageData = (char*)(this->qImage->bits()); // tempImage->imageData指向的存放图像实体区域的指针, qlmage->bits() 是QT中 图像实体区域指针,现在让tempImage->imageData 也指向 qlmage->bits() 指向的区域 cvCopy(this->image,this->tempImage,0);// 把图像数据从this->image 拷贝到 this->tempImage指向的区域,而this->tempImage此时指向的区域和this->qImage->bits()所指的是同一个区域 //cvCvtColor(this->tempImage,this->tempImage,CV_BGR2RGB); //这个是颜色空间转换 //第四步 this->ui->label->setPixmap((QPixmap::fromImage(*this->qImage)).scaled(this->ui->label->size()));// 这句话就是你想要的 把opencv处理出来的图片放到 qt 指定的方框里了 // 下面这两句是opencv独立窗口显示图片,用来对比 cvNamedWindow("show"); cvShowImage("show",this->image); cv::waitKey(5000);}
主要代码如下:
阅读全文
0 0
- Qt中显示opencv生成图片
- Qt中显示opencv生成图片
- Qt中显示OPENCV图片
- opencv+QT+vs 中显示图片总结
- Linux+qt+opencv显示图片
- QT 下OpenCV显示图片
- QT中使用opencv加载图片使用label显示
- Qt - OpenCV 连续图片生成视频
- 使用Qt显示openCV矩阵图片
- Qt下调用opencv显示图片
- 使用Qt显示openCV矩阵图片
- 利用opencv+QT打开并显示图片
- openCV图片显示到Qt控件QLabel
- qt中如何显示图片
- qt中图片显示问题
- Qt中图片的显示
- QT中显示GIF图片
- QT中label显示图片
- 学习笔记TF026:多层感知机
- Android设置视频背景
- Java获取字符串(16bit,32bit)和文件MD5工具
- CF 782B 和 HDU 4717 经典移点问题 【 二分 和 三分 时间】
- Android Studio 小技巧/快捷键 合集
- Qt中显示opencv生成图片
- Python readlines and readline
- hdu5222 Exploration【并查集+拓扑排序】
- 摆积木
- C
- 系统服务
- 程序猿必须掌握的三大排序之冒泡排序
- JVM Young Generation的minor GC日志字段不详解
- 通过jQuery实现合理的年月日选择(select>option)