QImage 和 IplImage 之间转换问题
来源:互联网 发布:java红包分配算法代码 编辑:程序博客网 时间:2024/05/21 09:50
常用方法:
这个对于IplImage向QImage转换是一个非常重要的功能!
因为我们可以用下面的语句直接从IplImage构造QImage, 避免重复复制数据.
彩色图像:
IplImage *img = cvLoadImage("lena.jpg", 1);
QImage qImage(img->imageData, img->width, img->height,img->widthStep, QImage::Format_RGB888);
灰度图像:
IplImage *pImg2 = cvCreateImage(cvGetSize(pImg),8,1);
QImage qimage((unsigned char * )pImg2->imageDataOrigin,pImg2->width,pImg2->height,QImage::Format_Indexed8);
如果在显示 单通道灰度图 时,图像错位(斜偏移),
1、这时可以把 单通道 转为 3通道 图。如下:
外部输入 disp 为 单通道CvMat矩阵
IplImage img, *pImg;
pImg = cvGetImage( disp, &img );
IplImage *pImg2 = cvCreateImage( cvGetSize(pImg), 8, 3);
cvCvtColor( pImg, pImg2, CV_GRAY2BGR );
QImage qimage( (unsigned char * )pImg2->imageDataOrigin, pImg2->width, pImg2->height, QImage::Format_RGB888/*QImage::Format_Indexed8*/); //图像会错位
2、在初始化qimage 时,加上widthstep,如 上面彩色图像的转换。结果如下:
QImage qimage( (unsigned char * )pImg->imageDataOrigin, pImg->width, pImg2->height, pImg->widthStep, QImage::Format_Indexed8);
在 Qt 中显示:
int main ( int argc, char *argv[] )
{
QApplication app(argc, argv);
QWidget *window = new QWidget;
window->setWindowTitle("Enter your age");
// QImage-------〉QPixmap-------〉QLabel
QLabel *label = new QLabel;
QPixmap lpmap;
label->setPixmap(lpmap.fromImage(qimage,0));
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget( label );
window->setLayout( layout );
window->show();
return app.exec();
}
- QImage 和 IplImage 之间转换问题
- QImage 和 IplImage 之间转换问题
- QImage 和 IplImage 之间转换问题 .
- QImage 和 IplImage 之间转换问题
- QImage和IplImage之间转换
- IplImage与Qimage之间转换
- IplImage与QImage之间相互转换的问题
- 关于QImage和IplImage之间转换的实现
- OpenCv:IplImage,Mat和Qt:QImage之间的快速转换
- 关于QImage和IplImage之间转换的实现 .
- 关于QImage和IplImage之间转换的实现
- 关于QImage和IplImage之间转换的实现
- 关于QImage和IplImage之间转换的实现
- 关于QImage和IplImage之间转换的实现
- QImage和IplImage转换总结
- QImage与IplImage之间的转换
- IplImage *,Mat,QImage之间的转换
- QImage与IplImage之间转换的实现
- windows 下 PHP 使用 memcached
- OpenGL ES之glShadeModel函数
- Android Genymotion #collapse-nostart Error
- OCP-1Z0-053-V13.02-176题
- jetty和tomcat的不同(1)
- QImage 和 IplImage 之间转换问题
- IE+CSS: 削除碍眼的iframe边框
- LVM磁盘管理和扩容
- 联盟与站长之间矛盾分析
- XMLHttpRequest status 0
- 西蒙iPhoneGL ES教程实例代码
- PreTranslateMessage作用和使用方法
- 当 jquery 发送 ajax 请求的时候遇到服务端session过期超时返回 302 跳转登陆页面的时候怎么办的处理方法
- framework的制作