我在尝试找出如何在 OpenCV 的新版本 (2.x) 中访问 rgb 像素时遇到了麻烦。我尝试混合使用旧方法和新方法,但没有成功。
这是我的代码
#include <opencv2\imgproc\imgproc.hpp>
#include <opencv2\highgui\highgui.hpp>
using namespace cv;
using namespace std;
int main (int argc, char* argv[])
{
Mat img;
string winMain = "Main";
img = imread(argv[1]);
for (int j = 0; j < img.rows; j++)
{
for (int i = 0; i < img.cols; i++)
{
img.data[j * img.cols + i * 3 + 0] = (uchar)0; //B
//img.data[j * img.cols + i + 1] = (uchar)0; //G
//img.data[j * img.cols + i + 2] = (uchar)0; //R
}
}
namedWindow(winMain);
imshow(winMain, img);
waitKey();
return 1;
}
正如您在以下示例中所注意到的,仅修改了图像的三分之一。
感谢您的帮助