逐畫素修改影象

在 OpenCV 中,影象可以是 RGB / BGR,HSV,灰度,黑白等。在處理影象之前瞭解資料型別至關重要。

影象資料型別主要是 CV_8UC3(具有 3 個通道的 uchar 矩陣)和 CV_8U(具有 1 個通道的 uchar 矩陣),但是,也可以轉換為其他型別,例如 CV_32FC3,CV_64F。 (見資料型別

考慮一下,影象是由 imread 函式讀取的 RGB 影象。

Mat rgb = imread('path/to/rgb/image', CV_LOAD_IMAGE_COLOR);
//to set RED pixel value of (i,j)th to X,
rgb.at<Vec3b>(i,j)[0] = X;

同樣,如果影象是灰度級的,

gray.at<uchar>(i,j) = X;

請注意,在 OpenCV 中,黑白影象儲存為 CV_8U 型別,值為 0 和 255.因此,更改 BW 影象與灰度影象相同。