QImage 和 IplImage 之间转换问题

QImage和IplImage转换总结 在arm中做图像处理,因为一般都会用到 阅读详情
 

 QImage 和 IplImage 之间转换问题:

常用方法:

这个对于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();

}

PIL.Image 、QImage和QPixmap的相互转化 PIL.Image 、QImage和QPixmap的相互转化 from PIL import Image, ImageQt from PyQt5.QtGui import QPixmap image = Image.open("xxx.jpg") # Image -> QImage qimage = ImageQt.toqimage(image) # QImage -> Image,使用这个方法 image = ImageQt.fromqimage(qimage) # Image - 阅读详情

相关推荐

Qt中IplImage转QImage

本文只针对IplImage转QImage,对于做图像处理的朋友,经常需要利用opencv,而opencv中图像类型是IplImage,那么最后处理完成的IplImage图像需要转成QImage在Qt中展示出来。这是不可避免的过程。 网上很多方法讲的都是利用QImage自己的构造函数,但是都是基于彩色图像的。我们做图像处理的知道,一般处理的都是原图转的灰度图,即IplImage就已是灰度图了,所以网上的这些方案都不可行。有的说将QImage::Format_RGB888改为QImage::Fo

Sean.W的专栏 3154

QImage与IplImage之间转换的实现

QT和openCV的处理,最基础的就是QImage和IplImage之间的转换。这样两者就可以进行一起使用图像数据,从而达到利用QT显示和利用openCV处理的功能。 代码如下: QImage   ----->> IplImage [cpp] view plain copy QImage *IplImageToQImage(const IplImag

lovemysea的专栏 1152

opencv图片转换(Mat、QImage、IplImage)

IplImage 转 Mat: IplImage *img=cvLoadImage(argv[1]); Mat image=cvarrToMat(img); Mat 转 IplImage : Mat image =imread(argv[1],1); IplImage test = IplImage(image); 打开Mat图片: image =imread(argv[1],1); 打开IplImage 图片: img=cvLoadImage(argv[1]); Mat转QImage: 彩色图

qq_45220555的博客 2264

QImage和IplImage的转换(简单方法)

    IplImage *img = cvLoadImage("girl.jpg",1);    cvConvertImage(img,img,CV_CVTIMG_SWAP_RB);    const unsigned char *pImg = (unsigned char *)img->imageData;    frame = new QImage(pImg, img->width, img

十二月咖啡馆工作室 1962

QImage和IplImage共享内存

最近做的项目需要在QImage和IplImage之间进行转换,由于用传统的方法很耗时,所以想到用共享内存:   pFrame = cvQueryFrame(pCapture);   if (pFrame)   {    this->resize(pFrame->width

小妮子 1081

QT与OpenCV开发常用的图像格式转换函数:QImage转Mat、Mat转QImage、QImage转IplImage、IplImage转QImage

QT配合OpenCV完成图像处理时,经常使用QT显示OpenCV处理的图像数据,下面列出常用的一些转换函数,方便OpenCV与QT之间转换。 (1)将QImage图片转为opecv的qimage格式 IplImage *Widget::QImage_to_IplImage(const QImage * qImage) { int width = qImage->width()...

1607

QImage 和 IplImage 之间转换问题 .

QImage 和 IplImage 之间转换问题: 常用方法: 这个对于IplImage向QImage转换是一个非常重要的功能! 因为我们可以用下面的语句直接从IplImage构造QImage, 避免重复复制数据. 彩色图像: IplImage *img = cvLoadImage("lena.jpg", 1); QImage qImage(img->imageData, img->w

yuantian2987的专栏 729

QImage和IplImage之间的转换实现方法

QImage和IplImage是两种常用的图像表示方式,分别在Qt和OpenCV库中使用。IplImage是OpenCV库中用于表示图像的结构体,它也支持多种图像格式,并提供了图像处理和计算机视觉算法的实现。QImage是Qt库中用于表示图像的类,它提供了方便的图像读取、写入和处理功能。通过以上的转换函数,我们可以在Qt和OpenCV之间方便地转换图像数据,从而在两个库中灵活地处理和显示图像。希望本文能帮助你理解和实现QImage和IplImage之间的转换。QImage到IplImage的转换。

DevProZ的博客 315

qt中使用opencv处理图片 QImage 和 IplImage 相互之间转换问题

在用opencv处理图片显示在qt label上的时候遇到不是问题 1. qt上要用qimage形式才能显示 IplImage转成 Qimage 彩色图像转换  IplImage  *fram; QImage image((const uchar*)fram->imageData, fram->width, fram->height, QImage::Format_RGB888);

chenaini119的专栏 2533

LabVIEW事件结构避坑指南:为什么你的‘确定按钮’事件有时会失灵?

本文深入探讨了LabVIEW事件结构中'确定按钮'事件失灵的常见原因及解决方案。从事件队列机制到事件类型选择,详细分析了事件丢失的五大原因,包括事件处理耗时过长、事件类型选择不当等,并提供了优化登录界面案例的实用建议。掌握这些技巧可显著提升LabVIEW用户界面的响应可靠性。

weixin_42548888的博客 354

MATLAB信号处理实战:VMD分解参数调优全指南(附避坑技巧)

本文深入探讨了MATLAB中变分模态分解(VMD)的核心参数调优实战技巧。针对模态数K和惩罚系数α的选择难题,提供了从经验估计、可视化观察到量化指标辅助的渐进式调优框架,并分享了避免过分解与欠分解的实用避坑指南,旨在帮助工程师高效处理非平稳信号,提取清晰的物理特征。

weixin_29079671的博客 144

QImage与IplImage之间的转换

网上很多的QImage与IplImage之间的转换代码,不知道别人能否顺利的用过,但是我是没顺利的使用过。主要问题是图像数据排列问题,最重要的是关注图像数据每行占多少个字节,因为涉及到对齐问题。两种不同的数据结构中都有相关的成员变量来表示,这个必须得统一,否则会发生错位或者segment fault的错误。 嵌入式Linux 中并没有完全实现openCV类库,所以不能正常使用像cvLoadIma...

weixin_34014277的博客 124

专治疑难系列 - 解决打印机凭证冲突问题

一、问题描述 二、解决方法 三、问题已解决

Passerby_Wang的博客 2万+

关于QImage和IplImage之间转换的实现

在嵌入式系统中实现qt和opencv的处理,最基础的就是QImage和IplImage之间的转换。这样两者就可以进行一起使用图像数据,从而达到利用qt显示和利用opencv处理的功能。下面我将贴出代码:QImage   ----->> IplImageQImage *img_qimage(const IplImage *img) { cvCvtColor(img,img,CV_BGR2RGB); uchar *imgData=(uchar *)img->imageData;

高峰的博客 1万+

DeepSeek-OCR又更新:一起看下OCR1和OCR2

DeepSeek-AI 最近又又开源了,这次是DeepSeek-OCR2,结合之前发布的DeepSeek-OCR ,可以发现DeepSeek走出了一条不同于主流 OCR 方案的技术路线。第一代模型探索了**“视觉作为文本压缩介质”的可行性,打破了传统的序列长度限制;第二代模型则通过“Visual Causal Flow(视觉因果流)”**架构,将因果推理引入视觉编码器,解决了复杂排版下的阅读顺序难题。本文将从架构设计、逻辑结构、训练范式及工程实现四个维度,深度剖析这两代模型的异同与创新。

kakaZhui的博客 623

YOLO26全网首发:CVPR2026 FAA| 解决YOLO Neck跨尺度方向冲突--- FAAFusion频域对齐融合模块 | 暴力涨点篇

本文改进:FAAFusion引入YOLO neck ,代替nn.Upsample和Concat

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 643

IplImage与QImage之间相互转换的问题

做Qt这么久了,一直想把IplImage与QImage之间相互转换的问题贴出来,一直没有时间,今天抽空把代码贴出来,思路很简单,只需要把数据根据两种不同格式进行复制就行了。 IplImage转QImage: QImage* IplImageToQImage(const IplImage *pIplImage) { QImage *qImage; int w = pIplImage-

feigeswjtu的专栏 3757

概率的接力:拆解大模型“预测下一个词“的底层逻辑

大模型的智能不在于它拥有了意识,而在于它用纯数学的架构,将人类语言的复杂结构压缩为可计算的向量轨迹与概率接力。当我们不再将其拟人化为"思考者",而是视作高维条件概率引擎时,才能真正驾驭它。预测下一个词,从来不是终点,而是起点。未来的核心竞争力,属于那些能洞察其统计本质、善用其模式生成能力,并以人类理性与事实为锚点的协作者。词元的轨迹终会止步于上下文窗口,但对技术底层的清醒认知,才是跨越幻觉、走向真实智能的基石。

AI浩 328
上一篇: 色彩空间总结和 RAW
下一篇: Visual Studio 2008 、 Windows 环境变量介绍 和 如何在文件中引用环境变量
jtop0
博客等级 码龄18年 126粉丝 35原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值