qt中使用opencv处理图片 QImage 和 IplImage 相互之间转换问题

简介:

在用opencv处理图片显示在qt label上的时候遇到不是问题

1. qt上要用qimage形式才干显示

IplImage转成 Qimage

彩色图像转换

 IplImage  *fram;

QImage image((const uchar*)fram->imageData, fram->width, fram->height, QImage::Format_RGB888);

在用opencv二值化以后你再转换发现出现label里面显示多个画面并且还有彩色的怎么回事

这时候得换參数

QImage resimg(( uchar*)res->imageData, res->width, res->height, QImage::Format_Indexed8);

參数换后就好了说明QImage::Format_Indexed8就是用来转换灰色图像的

2. yuv摄像头採集的数据图片转换成rgb后生成Qimage我要用opencv处理要转换成lplimage格式这时候就能够这样来写

//转换格式QImage转IplImage
     width = frame->width();
     height = frame->height();
      Size.height = height;
      Size.width = width;
    lplImage * image = cvCreateImage(Size, IPL_DEPTH_8U, 3);
      for (int y = 0; y < height; ++y)
       {
         for (int x = 0; x < width; ++x)
           {
              QRgb rgb = frame->pixel(x, y);
              cvSet2D(image, y, x, CV_RGB(qRed(rgb), qGreen(rgb), qBlue(rgb)));
          }
       }

最后image就是iplimage格式的。你能够把上面的自己封装下每次直接调用非常方便。





本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5322015.html,如需转载请自行联系原作者


相关文章
|
28天前
|
计算机视觉
Opencv学习笔记(十二):图片腐蚀和膨胀操作
这篇文章介绍了图像腐蚀和膨胀的原理、作用以及使用OpenCV实现这些操作的代码示例,并深入解析了开运算和闭运算的概念及其在图像形态学处理中的应用。
92 1
Opencv学习笔记(十二):图片腐蚀和膨胀操作
|
2月前
|
算法 计算机视觉
基于qt的opencv实时图像处理框架FastCvLearn实战
本文介绍了一个基于Qt的OpenCV实时图像处理框架FastCvLearn,通过手撕代码的方式详细讲解了如何实现实时人脸马赛克等功能,并提供了结果展示和基础知识回顾。
基于qt的opencv实时图像处理框架FastCvLearn实战
|
30天前
|
计算机视觉 Python
Opencv学习笔记(二):如何将整个文件下的彩色图片全部转换为灰度图
使用OpenCV库将一个文件夹内的所有彩色图片批量转换为灰度图,并提供了相应的Python代码示例。
31 0
Opencv学习笔记(二):如何将整个文件下的彩色图片全部转换为灰度图
|
30天前
|
计算机视觉 Python
Opencv学习笔记(一):如何将得到的图片保存在指定目录以及如何将文件夹里所有图片以数组形式输出
这篇博客介绍了如何使用OpenCV库在Python中将图片保存到指定目录,以及如何将文件夹中的所有图片读取并以数组形式输出。
119 0
Opencv学习笔记(一):如何将得到的图片保存在指定目录以及如何将文件夹里所有图片以数组形式输出
|
2月前
|
文字识别 计算机视觉 开发者
基于QT的OCR和opencv融合框架FastOCRLearn实战
本文介绍了在Qt环境下结合OpenCV库构建OCR识别系统的实战方法,通过FastOCRLearn项目,读者可以学习Tesseract OCR的编译配置和在Windows平台下的实践步骤,文章提供了技术资源链接,帮助开发者理解并实现OCR技术。
119 9
基于QT的OCR和opencv融合框架FastOCRLearn实战
|
30天前
|
计算机视觉
Opencv错误笔记(一):通过cv2保存图片采用中文命名出现乱码
在使用OpenCV的cv2模块保存带有中文命名的图片时,直接使用cv2.imwrite()会导致乱码问题,可以通过改用cv2.imencode()方法来解决。
115 0
Opencv错误笔记(一):通过cv2保存图片采用中文命名出现乱码
|
28天前
|
Serverless 计算机视觉
语义分割笔记(三):通过opencv对mask图片来画分割对象的外接椭圆
这篇文章介绍了如何使用OpenCV库通过mask图像绘制分割对象的外接椭圆。首先,需要加载mask图像,然后使用`cv2.findContours()`寻找轮廓,接着用`cv2.fitEllipse()`拟合外接椭圆,最后用`cv2.ellipse()`绘制椭圆。文章提供了详细的代码示例,展示了从读取图像到显示结果的完整过程。
43 0
语义分割笔记(三):通过opencv对mask图片来画分割对象的外接椭圆
|
2月前
|
计算机视觉
基于QT的opencv插件框架qtCvFrameLearn实战
这篇文章详细介绍了如何基于Qt框架开发一个名为qtCvFrameLearn的OpenCV插件,包括项目配置、插件加载、Qt与OpenCV图像转换,以及通过各个插件学习OpenCV函数的使用,如仿射变换、卡通效果、腐蚀、旋转和锐化等。
42 10
|
2月前
|
存储 Java C++
QT源码拾贝0-5(qimage和qpainter)
这篇文章介绍了在Qt源码中qimage和qpainter的使用,包括线程池的使用、智能指针的存储、std::exchange函数的应用、获取类对象的方法以及QChar字节操作。
QT源码拾贝0-5(qimage和qpainter)
|
2月前
|
机器学习/深度学习 Java 计算机视觉
opencv4.5.5+qt5.15.2+vtk9.1+mingw81_64编译记录
本文记录了使用mingw81_64编译OpenCV 4.5.5、Qt 5.15.2、VTK 9.1的详细过程,包括编译结果截图、编译步骤、遇到的问题及其解决方案,以及相关参考链接。文中还提到了如何编译boost源码为静态库,并提供了测试代码示例。
opencv4.5.5+qt5.15.2+vtk9.1+mingw81_64编译记录
下一篇
无影云桌面