2017-04-20 23 views
0

OpenCVでimread()を使用して8BPP PNG画像を読み込み、それをより大きなマトリックスにコピーしようとしています。これはコードです:OpenCV imread 8BPP PNG画像エラー

Mat subimage = imread((directory + file).toStdString(), IMREAD_COLOR); 
subimage.copyTo(whole(Rect(rect.left(), rect.top(), 
             rect.width(), rect.height()))); 

私はIMREAD_ANYCOLOR、IMREAD_ANYDEPTH、IMREAD_GRAYSCALEとIMREAD_UNCHANGEDのような他のフラグを試してみました。それらのどれもは動作していないようです(サブイメージは空です)。私は最終的にエラーを考え出し

OpenCV Error: Assertion failed (!fixedSize()) in cv::_OutputArray::release, file ..\..\..\sources\modules\core\src\matrix.cpp, line 1619

+0

'directory'と' file'の間に区切り記号はありませんか?イメージが読み込まれたかどうかチェックしませんか? –

+0

私はチェックを追加することができます。現在、私はサブイメージの行と列の数を印刷するprintステートメントを持っています。 rectの寸法は正しい。また、ディレクトリ変数はセパレータで終わります。コードの別の部分にセパレータを追加します。私もそれを印刷し、それは正しいです。 – user2522981

答えて

0

私はfolowingエラーを取得しています。しかし、それはimreadとは関係ありません。私は画像をダウンロードしており、ダウンロードが完了する前にそれらの画像を読み取ろうとしていました。