zoukankan      html  css  js  c++  java
  • 关于QImage和IplImage之间转换的实现

    在嵌入式系统中实现qt和opencv的处理,最基础的就是QImage和IplImage之间的转换。这样两者就可以进行一起使用图像数据,从而达到利用qt显示和利用opencv处理的功能。

    下面我将贴出代码:

    QImage   ----->> IplImage

    [cpp] view plain copy
     
    1. QImage *IplImageToQImage(const IplImage *img)  
    2. {  
    3.     QImage *image;  
    4.     cvCvtColor(img,img,CV_BGR2RGB);  
    5.     uchar *imgData=(uchar *)img->imageData;  
    6.     image=new QImage(imgData,img->width,img->height,QImage::Format_RGB888);  
    7.     return image;  
    8. }  

       

    IplImage  ------->>QImage

    [cpp] view plain copy
     
    1. IplImage *QImageToIplImage(const QImage * qImage)  
    2. {  
    3.     int width = qImage->width();  
    4.     int height = qImage->height();  
    5.     CvSize Size;  
    6.     Size.height = height;  
    7.     Size.width = width;  
    8.     IplImage *IplImageBuffer = cvCreateImage(Size, IPL_DEPTH_8U, 3);  
    9.     for (int y = 0; y < height; ++y)  
    10.     {  
    11.         for (int x = 0; x < width; ++x)  
    12.         {  
    13.             QRgb rgb = qImage->pixel(x, y);  
    14.             cvSet2D(IplImageBuffer, y, x, CV_RGB(qRed(rgb), qGreen(rgb), qBlue(rgb)));  
    15.         }  
    16.     }  
    17.     return IplImageBuffer;  
    18. }  
  • 相关阅读:
    Linux服务器远程ssh为centos7安装MySQL
    MyBatis配置文件模版
    强烈推荐Spring MVC初学好文章
    Servlet生成验证码
    Mac OS 配置环境变量
    Spring MVC pom.xml
    Manve阿里云仓库
    CentOS7.X怎样更新yum源
    django 登录
    django 接收 post请求
  • 原文地址:https://www.cnblogs.com/yzl050819/p/8410479.html
Copyright © 2011-2022 走看看