OpenCV与Qt 中图像格式的转换

本文介绍了一个使用OpenCV读取图像并将其转换为Qt框架可用的QImage格式的方法。通过一个简单的C++类实现从IplImage到QImage的转换,便于在Qt应用程序中展示图像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是一个利用OpenCV读取一张图片然后用Qt生成窗口display出来。做的主要是IplImage到QImage的转换。大部分参考了这个人的博客(http://leohart.net/site/comments/convert_opencv_iplimage_to_qt_qimage/

基本用法就是:

1)声明这个类,传入图片路径到构造函数中;

2)用getQImage函数获得QImage,然后就可以用到Qt的东西中。

#include <QtCore>

#include <QtGui>

 

#include "cv.h"

#include "highgui.h"

 

class QCvImage{

 

private:

    IplImage* cvBGRImg;

    IplImage* cvRGBImg;

 

public:

    QCvImage()

    {

 

    }

 

    QCvImage(char* imgPath)

    {

        cvBGRImg = cvLoadImage(imgPath, true);

        cvRGBImg = NULL;

    }

 

    QImage* getQImage(void)

    {

        if(cvBGRImg == NULL)

            return NULL;

 

        cvRGBImg = cvCloneImage(cvBGRImg);

        cvCvtColor(cvBGRImg, cvRGBImg, CV_BGR2RGB);

 

        uchar* imgData = (uchar*)(cvRGBImg->imageData);

        QImage* qimg = new QImage(imgData, cvRGBImg->width, cvRGBImg->height, QImage::Format_RGB888);

       

        return qimg;

    }

 

    ~QCvImage()

    {

        cvReleaseImage(&cvBGRImg);

        cvReleaseImage(&cvRGBImg);

    }

 

};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值