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. }  
  • 相关阅读:
    用tar命令把目标压缩包解压到指定位置
    testing and Deployment
    项目第二阶段进展
    注解使用中 @RequestMapping 和 @GetMapping @PostMapping 区别
    导入项目之最多的问题
    0 for前端之数据交互
    Required String parameter 'xxxxx' is not present] 报错400
    CDI Features
    初始化数据库问题
    mysql的时区问题
  • 原文地址:https://www.cnblogs.com/yzl050819/p/8410479.html
Copyright © 2011-2022 走看看