`
yidongkaifa
  • 浏览: 4052478 次
文章分类
社区版块
存档分类
最新评论

v4l2采集视频,opencv处理帧数据第一难关:qt的QImage转换为opencv的IplImage 函数代码实现

 
阅读更多

很多时候要用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(这个比较复杂,我没采用这个)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics