第一行:cols明顯是int變數,src是mat變數(在前面宣告),因為mat結構體變數名,所以src.cols-1是獲取列數(總列數減一,因為最後一列·最開始一列·最後一行和最開始一行不用,所以去掉),src.channels(),也是乙個結構體裡的方法,獲取的通道數,因為畫素的通道數隻與列有關所以相乘獲得真正的畫素列數。
第二行:就是獲取通道數,備用。
第三行:獲取高度即行數。
第四行:已知dst是mat變數,但是空的,所以給它初始化一下,和src一樣size和type。mat::zeros的作用是初始化成全黑色,dst備用。
第五行:定義row計數器從一到rows-1,頭尾去掉。
第六·七·八·九行:獲取src該行·前一行·後一行指標和dst該行指標。(const uchar* abc =src.ptr(數),這個數為多少就獲取多少行的指標)
第十行:內迴圈,對列操作。
第十一行:就是利用指標與陣列共性進行操作。(演算法:中間畫素*5-上邊的畫素-下邊的畫素-左邊的畫素-右邊的畫素)
但是大家會發現這個**是不完美的,還需要將畫素值saturate_cast(第十一行等號左邊的內容),這樣才完成。
矩陣的掩膜操作
掩膜操作 一 根據定義寫出函式 獲取影象畫素指標 cv assert myimage.depth cv 8u mat.ptr int i 0 獲取畫素矩陣的指標,索引i表示第幾行,從0開始計行數。獲得當前行指標const uchar current myimage.ptr row 獲取當前畫素點p ...
opencv矩陣掩膜操作
include include using namespace std using namespace cv intmain imshow 操作前 src double t gettickcount 定義掩膜矩陣 卷積核 掩膜可以自己定義,不同矩陣效果不同 0 1 0 1 5 1 掩膜可以自己定義,...
OpenCV02 矩陣的掩膜操作
獲得當前行指標const uchar current myimage.ptr row 獲取當前畫素點p row,col 的畫素值p row,col current col 畫素範圍處理saturate cast 在0 255返回正常值,小於0返回0,大於255返回255 掩膜 mask 操作 獲取影...