很多时候要用v4l2采集视频帧数据,当点击按钮触发时,保存其中的一帧数据,然后用opencv进行处理。那么就需要将QImage转为IplImage了,我封装了一个简易函数,可以实现此功能,
第一个参数是你的QImage数据帧,是指针类型的;第二个数据是你的IplImage帧数据,要注意调用此函数前要cvCreateImage(cvSize(qimage->width,qimage->height), .........),创建IplImage,然后调用下面的函数就可以了。
void cvxCopyQImage(const QImage *qImage, IplImage *pIplImage) //QImage 转为 Iplimage
{
int x, y;
for(x = 0; x < pIplImage->width; ++x)
{
for(y = 0; y < pIplImage->height; ++y)
{
QRgb rgb = qImage->pixel(x, y);
cvSet2D(pIplImage, y, x, CV_RGB(qRed(rgb), qGreen(rgb), qBlue(rgb)));
}
}
}
参考文章:
http://sealevel2009.is-programmer.com/posts/14551.html(这个比较好)
http://blog.chinaunix.net/uid-22682903-id-1771421.html(这个讲的也不赖!介绍创建IplImage的方法,尽管没用到,但也贴在这!)
http://blog.sina.com.cn/s/blog_8208f4ef0100wemj.html(这个比较复杂,我没采用这个)
分享到:
相关推荐
应用程序通过V4L2接口采集视频数据步骤 打开视频设备文件,通过视频采集的参数初始化,通过V4L2接口设置视频图像属性。 申请若干视频采集的帧缓存区,并将这些帧缓冲区从内核空间映射到用户空间,便于应用程序...
这是 OpenCV与QT开发时常有的一些转换函数。 比如: (1) 将QImage图片转为opecv的qimage格式 IplImage *Widget::QImage_to_IplImage(const QImage * qImage) (2). 将opecv的图片转为qimage格式 QImage *Widget::...
使用原始的RGB数据构造Opencv中的Mat对象。该资源使用Linux系统中的V4L2接口读取摄像头MJPEG图像数据,解码成RGB数据,再转换为Opencv中的Mat对象所使用的BGR格式
v4l2+opencv详细的过程和不同实现选择
Opencv4+v4l2以mjpeg读取双目摄像头
毕设新项目-基于C语言QT+v4l2+OpenCV+sqlite的视频监控系统源码+项目说明.zip 【项目介绍】 视频监控系统 使用技术:qt + v4l2 + opencv 服务端: 1、v4l2读取摄像头数据 2、tcp传输图片 客户端: 1、tcp接收图片 2...
V4L2+OpenCV3.1以MJPG格式读取USB摄像头图像并实时显示
项目要用的v4l2+qt显示摄像头可用程序(结合opencv识别二维码),用libdecodeqr实现。要求安装qt4.7和linux下编译好了opencv
QT4.3.0+OpenCV5.12.2实现拍照功能+曝光调整+视频灰度处理+视频二值化处理;可执行程序 QT QT4.3.0 opencv Opencv 拍照功能 曝光调整 视频灰度处理 视频二值化 图形处理 灰度处理 图像采集 USB图像采集 QT4.3.0+...
QT图形界面编程 大作业,主要功能分为图像处理以及视频处理两大块。 图像处理包括:灰度化、...软件使用的是QT 5.12.2+QT Creator 4.8.2+win10,QT5版本应该都可行,视频处理涉及到OpenCV,我使用的是OpenCV4.0.1版本。
QT+OpenCV调用大恒相机进行实时采集和单帧采集,包括Ui设计等,需要提前配置好大恒SDK,网上有教程。
opencv 编译安装opencv + V4L2 进行视频采集显示, linux 下面的 c/c++源码 , 使用原始的RGB数据构造Opencv中的Mat对象。该资源使用Linux系统中的V4L2接口读取摄像头MJPEG图像数据,解码成RGB数据,再转换为Opencv...
使用v4l2在qt实时显示摄像头数据。未使用opencv。uvc摄像头都可使用。 这样的代码不应该需要太多积分,但时间久了积分上去了,特意来减少所需积分,希望大家喜欢。
基于V4l2的OpenCV人脸检测以及人脸识别,自动生成xml格式的级联分类器,使用LBPH算法,注意摄像头输出为mjpeg,如果是yuv需要修改代码
在Linux中通过v4l2采集摄像头传输的图像数据,作为视频显示出来。
QT和Opencv图像格式转换_ qtopencv图片数组相互转化,opencv格式转换mono8 -C 代码类资源 关于QImage和Mat格式的转换
基于QT开发的使用OpenCV进行摄像头视频采集,并用qt实现摄像头图像的刷新显示。
基于Toybrick TB-RK3399ProD实现USBcamera通过V4L2图像采集+RKMPP编码成H264+OpenCV显示采集的图像
毕业设计,基于qt+v4l2+opencv+sqlite开发的视频监控系统,内含完整源代码 视频监控系统 使用技术:qt + v4l2 + opencv 服务端: 1、v4l2读取摄像头数据 2、tcp传输图片 客户端: 1、tcp接收图片 2、简单图像处理...
QT4.3.0+OpenCV5.12.2实现拍照功能+曝光调整+视频灰度处理+视频二值化处理源码源码