• Qimage与IplImage的转换


    QImage test2012::ImageCV2Qimg(IplImage* img)
    {
     assert(img!=NULL);
     int h = img->height;
     int w = img->width;
     int channel = img->nChannels;
     QImage qimg = QImage(w, h, QImage::Format_RGB32);

     for(int i=0;i<h;i++)  
        {  
            for(int j=0;j<w;j++)  
            {  
                int r,g,b;  
                if(channel == 3)  
                {  
                    b=(int)CV_IMAGE_ELEM(img,uchar,i,j*3+0);  
                    g=(int)CV_IMAGE_ELEM(img,uchar,i,j*3+1);  
                    r=(int)CV_IMAGE_ELEM(img,uchar,i,j*3+2);  
                }  
                else if(channel == 1)  
                {  
                    b=(int)CV_IMAGE_ELEM(img,uchar,i,j);  
                    g=b;  
                    r=b;  
                }  
                qimg.setPixel(j,i,qRgb(r,g,b));  
            }  
        }  
     return qimg;
    }

    Qimage的存储顺序是RGB,而IplImage的存储顺序是BGR,所以我们要按顺序恢复。

  • 相关阅读:
    Druid.io系列(三): Druid集群节点
    Druid.io系列(二):基本概念与架构
    Druid.io系列(一):简介
    am335x backlight
    imx6 fec分析
    imx6 ar8031 千兆网卡不能用
    imx6 spi分析
    imx6 i2c分析
    imx6 uart分析
    imx6 gpio分析
  • 原文地址:https://www.cnblogs.com/Peit/p/6423781.html
Copyright © 2020-2023  润新知