我有一个这样创建的 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)
or img.at<cv::Vec3f>(y,x)
,但它们似乎不起作用。