zoukankan      html  css  js  c++  java
  • 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,所以我们要按顺序恢复。

  • 相关阅读:
    JAVA-基础-接口
    JAVA-基础-抽象类
    JAVA-基础-多态
    JAVA-基础-继承
    JAVA-基础-封装
    JAVA-基础-面向对象
    JAVA-基础-ArrayList集合
    CenOS 6.5下 mysql自动备份
    Cenos 6.5上的subverion的yum配置笔记
    [CF628D]Magic Numbers 题解
  • 原文地址:https://www.cnblogs.com/Peit/p/6423781.html
Copyright © 2011-2022 走看看