2
的所有通道我有這樣創建的OpenCV的圖像:如何訪問OpenCV的圖像
cv::Mat img(XN_VGA_Y_RES, XN_VGA_X_RES, CV_64FC3, cv::Scalar(0));
我如何可以訪問其所有的像素?
我想:
for (int x=0; x < XN_VGA_X_RES; x++) {
for (int y=0; y < XN_VGA_Y_RES; y++) {
img.at<double>(y,x) = 1;
}
}
然而,當我這樣做,這樣,只有圖像的1/3是白色的。我猜這是因爲我的圖片中有3個頻道,但我怎樣才能訪問它們?我嘗試了各種東西,如img.at<double[3]>(y,x)
或img.at<cv::Vec3f>(y,x)
,但他們似乎沒有工作。
Downvoter,解釋? – houbysoft 2012-07-17 18:35:22
你也可以使用'img = 1',其結果與for循環相同 – Sam 2012-07-17 18:55:46
@vasile:對,上面的代碼只是一個例子,我在實際中使用了不同於'1'的值。 – houbysoft 2012-07-17 21:22:31