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格式的。你可以把上面的自己封装下每次直接调用很方便。

时间: 2024-10-11 15:34:36

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

Qt中添加OpenCV库

配置在Qt中的OpenCV,看了很多“教程”,最终成功.记一下过程. 本机配置: window7 32位系统: qt-opensource-windows-x86-mingw492-5.5.1: OpenCV2.4.10. 对于我来说配置过程比较难,因为目前我没用过Qt和Cmake,之前一直用VS编译C++,也没有用过MinGW,所以看教程中的各种命令或者执行文件都比较费时.这次各种尝试后成功.参考资料的连接在最后,其中帮助我最大的就是那一篇纯英文的,很详细. 前期准备 Qt5的opensour

Qt中配置OpenCV环境

在Qt中开发基于OpenCV的应用时,需要配置对应函数库到环境变量,这时候我们需要使用到qmake能够识别的变量来指定环境变量. INCLUDEPATH: 用于指定搜索头文件到文件夹路径. LIBS: 包含链接时的库文件列表.使用-L来指定文件夹路径,-l来指定库的名称. 而这些配置,我们需要写入到对应到工程文件(*.pro)当中,可以有两种写法. 第一种:直接指定包含到库文件名称. 1 INCLUDEPATH += /usr/local/include/opencv2/ 2 3 LIBS +=

python中使用OpenCV处理图片

1.导入OpenCV包 import cv2 2.读取图片 cv2.imread(image_path, mode)        读入函数,包含两个参数,第一个为图片路径及图片名,第二个为读取图片方式.mode的参数包括:cv2.IMREAD_COLOR:读入一副彩色图片:cv2.IMREAD_GRAYSCALE:以灰度模式读入图片:cv2.IMREAD_UNCHANGED:读入一幅图片,并包括其alpha通道. 3.显示图片 cv2.inshow(window_name, image)   

搭建Qt界面的OpenCV开发环境

OpenCV包含了大量的机器视觉处理算法,虽然也提供了highgui的界面功能,但实在有限(也就是一个窗口,加一些使用像素进行绘图的方法),与用户交互相关的功能极少(比如有Trackbar),貌似连个可视化的用户接口的button也没见过,而Qt正好能弥补OpenCV在这些方面的不足:通过OpenCV完成底层算法,用Qt完成上层的应用接口,哇咔,这不是完美组合么!本文原来的初衷是想通过Qt开发来实战练练C++,现在看来是要Qt与OpenCV一起搞了.这篇文章就是安装Qt及在Qt中配置OpenCV

QT creator中使用opencv采集摄像头信息

之前在QT creator上成功编译了opencv,由于课题需要,需要采集摄像头的信息.故搜集了网上的一些资料,依葫芦画瓢的照着做了一下,终于简单的成功采集了信息. 打开QTcreator,新建一个widget工程. 在界面上放两个label 分别用来显示摄像头采集到的数据和照的照片. 在widget.h中的源代码如下: #ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include <QImage> #include &

QT creator中使用opencv

最近要用到opencv做图像方面的东西,网上很多是用VS加opencv,但自己对VS不怎么喜欢,想用QT Creator.在网上搜索了很多资料,终于花了一天的时间,在QT Creator上能使用opencv了. 需要的软件:(1)QT Creator.我的版本是4.8.5.这个版本还是在学习亚飞的QT Creator的时候安装的,网上有说QT版本低,而opencv版本高的话,可能在执行mingw32-make命令会报错.因此为了以防万一,我下载的低版本的opencv (2)opencv.我的版本

QImage和IplImage转换总结

在arm中做图像处理,因为不支持GTK,一般都会用到QT来实现显示功能,所以不可避免的要涉及到QImage和IplImage两种图像格式之间的转换,下面总结一下转换的方法. (下面格式转换的代码都是网友写的,我这里只是归纳修改了一下) IplImage 转换为 QImage 方法1 [plain] view plain copy QImage *IplImageToQImage(const IplImage *img) { QImage *qmg; cvCvtColor(img,img,CV_B

qt上用opencv显示摄像头视频

参考:http://blog.csdn.net/augusdi/article/details/8865541 代码如下: 注意,要在ui界面上放置一个“Vertical Layout”控件,调整到合适大小 #include <QtWidgets/QMainWindow> #include <QPaintEvent> #include <QTimer> #include <QPainter> #include <QPixmap> #include

Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())

在Qt中设置widget背景颜色或者图片方法很多种:重写paintEvent() , 调色板QPalette , 样式表setStyleSheet等等. 但是各种方法都有其注意事项,如果不注意则很容易陷入麻烦中. 1:setStyleSheet() 这个函数我一直很喜欢使用,因为只要写一句就可以实现效果,比其他方法都简单,但是其却有一个很值得注意的地方,也就是这个地方让我大吃苦头. 亦即:①:该函数只能用于设置有父窗口的子窗口的背景!如果一个窗口没有子窗口,则无法使用该函数来设置背景颜色或图