关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于OpenCV的人脸识别设计方案

基于OpenCV的人脸识别设计方案

作者:时间:2012-07-17来源:网络收藏

然后利用start()函数开启QTimer 定时器,每隔一段时间发送信号调用自定义的槽函数,该槽函数用cvGrab()从视频流中抓取一帧图像放入缓存,再利用CvRetrieve()从内部缓存中将帧图像读出用于接下来的处理与显示。在qt 中显示之前,需将IplImage* source 转换为QPixmap 类型。

uchar *qImageBuffer = NULL;

/*根据图像大小分配缓冲区*/

qImageBuffer = (uchar*) malloc(source-》width *

source->height * 4 * sizeof(uchar));

/*将缓冲区指针拷贝到存取Qimage 的指针中*/

uchar *QImagePtr = qImageBuffer;

/* 获取源图像内存指针*/Const uchar*

iplImagePtr=reinterpret_cast/uchar*》>(source->imageDat

a);

/*通过循环将源图像数据拷贝入缓冲区内*/

for (int y = 0; y source->height; ++y){

for (int x = 0; x source->width; ++x){

QImagePtr[0] = iplImagePtr[0];

QImagePtr[1] = iplImagePtr[1];

QImagePtr[2] = iplImagePtr[2];

QImagePtr[3] = 0;

QImagePtr += 4;

iplImagePtr += 3; }

iplImagePtr+=source->widthStep–3*source->width; }

/*将Qimage 转换为Qpixmap*/QPixmap local =

QPixmap::fromImage(QImage(qImageBuffer,source-》wi

dth,source-》height, QImage::Format_RGB32));

/*释放缓冲区*/

free(qImageBuffer);

最后利用QLabel 的setPixmap()函数进行显示。

c++相关文章:c++教程


cvt相关文章:cvt原理


全息投影相关文章:全息投影原理


评论


相关推荐

技术专区

关闭