IplImage 型別與Mat 型別資料訪問方法

2021-06-18 02:54:30 字數 875 閱讀 4035

iplimage*型別可以用巨集定義:cv_image_elem(image,elemtype,row,col);進行內部資料訪問。

mat 型別可以用mat::at(cvpoint(col,row));進行資料訪問。

對於多通道影象,以3通道影象為例:

iplimage*型別:

cv_image_elem(image,elemtype,row,3*col);進行第一通道資料訪問。

cv_image_elem(image,elemtype,row,3*col+1);進行第二通道資料訪問。

cv_image_elem(image,elemtype,row,3*col+1);進行第三通道資料訪問。

mat 型別:

mat::at(cvpoint(3*col,row));進行第一通道資料訪問。

mat::at(cvpoint(3*col+1,row));進行第二通道資料訪問。

mat::at(cvpoint(3*col+2,row));進行第三通道資料訪問。

程式例:(rgb三通道影象)

版本#include "opencv2/opencv.hpp"

int main()

Mat與IplImage 型別間的轉換

在opencv2.x以上的處理中,大部分處理都是以mat為主,而對於習慣了1.x的我來說,有時候會帶來不便,希望能採用1.x的形式來處理。經過試驗,介紹兩種簡單的mat與iplimage 型別間的轉換 示例 是需要mat轉換為img 一 mat mat,mat1 mat1是臨時變數 iplimage...

Mat與IplImage互相轉換

mat 是opencv 和c 的介面矩陣類,imlimage 是opencv和c 語言的介面的結構體。下面介紹的mat和iplimage相互轉換方法 1 iplimage mat 淺拷貝 深拷貝 先進行資料頭的複製 淺拷貝 再在mat裡建立乙個新的mat物件,然後進行資料的複製。iplimage p...

Mat轉換成IplImage型別

mat 類有乙個iplimage 運算子成員函式 class cv export mat 利用該成員函式可以實現mat類向iplimage類的轉換,呼叫方法如下 include include include using namespace cv using namespace std int ma...