上一節,我們介紹了Mat周遊連續空間的方式,當然存數資料的空間也有可能是不連續的,本節就來簡單介紹一下不連續空間的周遊方式。
再寫代碼
二維數組
“
同樣,先來一段代碼:
int es = mat.elemSize();
for (int row = 0; row < mat.rows; row++)
{
for (int col = 0; col < mat.cols; col++)
{
(&mat.data[row * mat.step])[col * es] = 0; //b
(&mat.data[row * mat.step])[col * es + 1] = 0; //g
(&mat.data[row * mat.step])[col * es + 2] = 255; //r
}
}
複制
代碼說明
一、es代表的是每個像素所占的位元組大小;
二、mat.step表示周遊按行周遊的步長,即每一行資料所占的位元組大小;
三、具體周遊時按照二維數組來處理;
四、顔色的存儲依然是按照B,G, R的順序進行存儲。
要不要去試一下,體會一下這種周遊方式呢?由你決定喽。