//QImage->IplImage * static IplImage *ConvertToIplImage(const QImage &img) {a int nChannel=0; if(img.format()==QImage::Format_RGB888)nChannel=3; if(img.format()==QImage::Format_ARGB32)nChannel=4; if( nChannel==0 )return false; IplImage *iplImg=cvCreateImageHeader( cvSize(img.width(), img.height()),8,nChannel ); iplImg->imageData=(char*)img.bits(); if(nChannel==3) cvConvertImage(iplImg,iplImg,CV_CVTIMG_SWAP_RB); return iplImg; } //Mat->QImage static QImage ConvertToQImage(cv::Mat &mat) { QImage img; int nChannel=mat.channels(); if(nChannel==3) { cv::cvtColor(mat,mat,CV_BGR2RGB); img = QImage((const unsigned char*)mat.data,mat.cols,mat.rows,QImage::Format_RGB888); } else if(nChannel==4||nChannel==1) { img = QImage((const unsigned char*)mat.data,mat.cols,mat.rows,QImage::Format_ARGB32); } return img; } //IplImage *->QImage static QImage ConvertToQImage(IplImage *iplImg) { QImage img; int nChannel=iplImg->nChannels; if(nChannel==3) { cvConvertImage(iplImg,iplImg,CV_CVTIMG_SWAP_RB); img = QImage((const unsigned char*)iplImg->imageData,iplImg->width,iplImg->height,QImage::Format_RGB888); } else if(nChannel==4||nChannel==1) { img = QImage((const unsigned char*)iplImg->imageData,iplImg->width,iplImg->height,QImage::Format_ARGB32); } return img; }
IplImage QImage Mat 格式互转
原创wx6107b10224e82 博主文章分类:OpenCV&QT ©著作权
文章标签 IplImage QImage Mat 文章分类 代码人生
下一篇:抛不开我执的老罗,长不大的周伯通
-
IplImage与Qimage之间转换
IplImageToQImage.h//IplImageToQImage.h#if
c++ #include 数据 ios -
QImage 与 cv::Mat 之间的相互转换
最近做图像处理方面的项目比较多,很多算CV 和Qt 融 Read More
perl 协同工作 相互转换 图像处理 .net