3 つのチャネルを持つマトリックスがあり、要素の値にアクセスして変更するのに問題があります。私はこのコードを持っています:
Mat m(4,4, CV_8UC3);
Vec3b a;
a[0] = 255;
a[1] = 0;
a[2] = 0;
m.at<Vec3b>(0,0) = a;
行列 m を印刷すると、次のようになります。
[255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
これは良いことですが、マトリックスを保存すると得られる画像imwrite
は次のとおりです。
なぜそれが青なのか、なぜ正方形の 2x2 青があるのか わかりません。最初のピクセルの赤だけを持っているべきではありませんか?
私はどこかで間違いをしましたか?