OpenCV獲取與設定畫素點的值的幾個方法

2022-06-07 02:54:16 字數 2491 閱讀 4385

title:

fn 1 :

使用 mat 中對矩陣元素的位址定位的知識 (參考博文:opencv中對mat裡面depth,dims,channels,step,data,elemsize和資料位址計算的理解)

code1只是演示了單通道的情況,對於多通道的例子,請看 code2 然後再看 code3。

fn 2 :

使用 mat::at 函式下面的**把紅色通道值大於128的顏色的置為白色,左邊為原圖,右邊為處理過後的圖。

這段**用的是 fn1 的方式,效果和 code 2 等價:
}
}
imshow("lena modified", img);
cvwaitkey();
return 0;
}

output 3 = output 2fn 3 :

使用 mat 的乙個模板子類 mat_的 ( ) 符號過載定位乙個畫素

code 4 :

}
}
imshow("image", m);
cvwaitkey();
return 0;
}
output 4 :[ 看上去怎麼有點不爽

]

fn 4 :

使用 mat::ptr 模板函式

code 5 :

}
}
imshow("after", m);
cout << (int)m.at(0, 0)[0] << ','; //利用 fn 1 介紹的方法輸出一下畫素值到控制台
cout << (int)m.at(0, 0)[1] << ',';
cout << (int)m.at(0, 0)[2] << endl;
cvwaitkey();
return 0;
}
output 5 :

end :

author : ggicci

謝謝閱讀,有誤希望指正!

--opencv初學者

>

來自為知筆記(wiz)

OpenCv畫素點獲取與修改

1 matlab獲取彩色影象畫素值的方法 三通道排序分別對應彩色影象的rgb三通道 2 opencv中獲取影象畫素的方法 方法一 注意記憶體中儲存順序是bgr 方法二 for int i 0 i img height i 假設灰度影象image,訪問其i行j列的象素可以這樣 cv image ele...

openCV畫素點處理

獲得畫素點的值便可以更加靈活的進行影象處理,在opencv裡可以通過cvget2d 和cvset2d 兩個函式加上乙個cvscalar結構體做到。opencv中,cvscalar結構為 typedef struct cvscalar cvscalar 4個double型變數,演算法處理時不至於被強制...

OpenCV訪問畫素點的灰度值

1.mat矩陣數值的儲存方式 這裡以指標的方式訪問影象素為例 1 單通道 定義乙個單通道影象 cv mat img 1 320,640,cv 8uc1,scalar 0 對於單通道m i,j 即為第i行j列的其灰度值 程式中表示為 img 1.ptr i j 2 多通道 這裡以rgb影象為例,每乙個...