QImage 和 IplImage 之間轉換問題

2021-06-06 02:37:05 字數 1589 閱讀 4001

qimageiplimage之間轉換問題:

常用方法:

這個對於iplimage向qimage轉換是乙個非常重要的功能!

因為我們可以用下面的語句直接從iplimage構造qimage, 避免重複複製資料.

彩色影象:

灰度影象:

iplimage*pimg2 = cvcreateimage(cvgetsize(pimg),8,1);

qimageqimage((unsigned char * )pimg2->imagedataorigin,pimg2->width,pimg2->height,qimage::format_indexed8);

如果在顯示單通道灰度圖 時,影象錯位(斜偏移),

1、這時可以把 單通道  轉為 3通道 圖。如下:

外部輸入 disp 為   單通道cvmat矩陣

iplimageimg,  *pimg;

pimg    =   cvgetimage(   disp,     &img   );

iplimage*pimg2   =   cvcreateimage(  cvgetsize(pimg),  8,  3);

cvcvtcolor(   pimg,    pimg2,     cv_gray2bgr );

qimageqimage( (unsigned char * )pimg2->imagedataorigin,    pimg2->width,   pimg2->height,qimage::format_rgb888/*qimage::format_indexed8*/

); //影象會錯位

2、在初始化qimage 時,加上widthstep,如 上面彩色影象的轉換。結果如下:

qimage qimage( (unsigned char * )pimg->imagedataorigin, pimg->width, pimg2->height,pimg->widthstep, qimage::format_indexed8);

在 qt 中顯示:

int main ( int argc,   char *argv )

//  qimage-------〉qpixmap-------〉qlabel

qlabel *label = new qlabel;

qpixmap lpmap;

label->setpixmap(lpmap.fromimage(qimage,0));

QImage和IplImage轉換總結

在arm中做影象處理,因為不支援gtk,一般都會用到qt來實現顯示功能,所以不可避免的要涉及到qimage和iplimage兩種影象格式之間的轉換,下面總結一下轉換的方法。下面格式轉換的 都是寫的,我這裡只是歸納修改了一下 方法1 qimage iplimagetoqimage const ipli...

QImage和IplImage之間轉換

環境 qt5.6 opencv3.2 imx6q 工程 道路線檢測 在嵌入式系統中實現qt和opencv的處理,最基礎的就是qimage和iplimage之間的轉換。這樣兩者就可以進行一起使用影象資料,從而達到利用qt顯示和利用opencv處理的功能。下面我將貼出 qimage iplimage c...

關於QImage和IplImage之間轉換的實現

在嵌入式系統中實現qt和opencv的處理,最基礎的就是qimage和iplimage之間的轉換。這樣兩者就可以進行一起使用影象資料,從而達到利用qt顯示和利用opencv處理的功能。下面我將貼出 qimage iplimage cpp view plain copy qimage iplimage...