2013-04-18 28 views
0

我正在嘗試使用GPU模糊圖像。我會寫我自己的GPU例程。我正在使用Opencv2庫進行圖像讀取。如何獲取圖像uchar陣列的實際長度opencv2

我想訪問圖像數組(uchar *),爲此我想通了;我可以做以下

cv::Mat im = imread('lena.jpg'); 

我也可以弄清楚,我可以訪問UCHAR *陣列 -

uchar * data = im.data; 

現在的問題是,有投入本作填充字節效率的目的。這意味着這個數組的大小可能超過(或等於)width * height * channels。

如何獲得

  • 一)這個數組
  • B)可變像widthStep什麼遞增 行方向的實際尺寸?

回答

0

你需要什麼是所謂步幅臺階寬度
你可以用im.step訪問它,如:

cv::Mat im = imread('lena.jpg'); 
uchar * data = im.data; 
int stepWidth = im.step; 
+0

這個怎麼樣UCHAR *陣列的總長度(考慮填充字節)? – mkuse 2013-04-18 06:29:25

+0

'stepWidth * im.rows' – 2013-04-18 06:45:00

+0

是這種乘法真的很有必要。有沒有可以給這個數字的內部變量? – mkuse 2013-04-18 10:40:31