qimage和iplimage之間轉換問題:
常用方法:
這個對於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...