逐畫素修改影象
在 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 影象與灰度影象相同。