1

多分これは非常に単純ですが、どういうわけか私は何が悪いのか分かりません。正方行列にサイズ変更したい単一の列 cv::Mat があります。これはコードです:

int matSize = 5;
Mat src(matSize, 1, CV_8UC1);
//Fill src with data...(all ones but one zero)
cout << "src:\n" << src << endl;

Mat output(matSize, matSize, CV_8UC1);
resize(src.t(), output, output.size());
cout << "output:\n"output << endl;

出力は次のようになります。

src:
[1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
output:
[1, 1, 1, 1, 1;
1, 1, 1, 1, 1;
1, 1, 1, 1, 1;
1, 1, 1, 1, 1;
1, 1, 1, 1, 1]

だからゼロは失われます!これはより大きなコンテキストで必要ですが、最初は小規模で機能させたいと考えています。助けてください!

4

1 に答える 1

0

私は自分でそれを解決しました.正しい機能は、ヘッダーを変更してデータへの異なるアクセスを取得するのではなく、マトリックスを「スケーリング」するために使用される「サイズ変更」ではなく「形状変更」です。

于 2013-07-22T16:26:29.140 に答える