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;
}
次の例でわかるように、画像の 3 分の 1 だけが変更されています。
助けてくれてありがとう