2

いくつかの opencv 操作を行った後、使用したい新しいイメージを初期化します。この空の画像を保存すると、奇妙な結果が得られます

ここに画像の説明を入力

この画像を保存するために使用する行は次のとおりです。

Mat dst2 (Size (320, 240), CV_8UC3);
imwrite("bla.jpg", dst2);

黒のイメージが得られるはずですが、これが得られます。この 2 行をプログラムの先頭に移動すると、すべて問題なく動作します。以前にこの問題を抱えていた人はいますか?

これらの白い線には、同じプログラムで処理している他の画像の一部が含まれていることに気付きました

よろしく

4

1 に答える 1

1

画像を値で初期化していないため、サイズとタイプを定義しただけなので、ランダムなピクセルが取得されます (またはランダムではないため、メモリ内のピクセルの断片が表示されている可能性があります)。

これは、初期化されていない変数を使用/アクセスするのと同じ概念です。

画像を黒くペイントするには、Mat::setTo、docs here を使用できます:

http://docs.opencv.org/modules/core/doc/basic_structures.html#mat-setto

于 2012-06-10T21:04:26.117 に答える