前提・実現したいこと
カスケード分類器の作成を目標としており、現在正解画像を1010枚、不正解画像を3085枚集めています。
正解画像については正解部分を切り出し、不正解画像についてはリスト化を行いました。
正解画像を増やすためにopencv_createsamples.exeで以下のようなコードで複製しようとしましたが、何回試しても途中でエラーがでてしまいます。
いろいろ調べたところ、正解画像と不正解画像のサイズ差が問題の可能性があるそうなので、リサイズをしたりしていますがうまくいきません。
なにか他に考えられる原因はあるでしょうか。
発生している問題・エラーメッセージ
OpenCV: terminate handler is called! The last OpenCV error is: OpenCV(3.4.15) Error: Assertion failed (0 <= roi.x && 0 <= roi.width && roi.x + roi.width <= m.cols && 0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.rows) in cv::Mat::Mat, file C:\build\3_4_winpack-build-win64-vc15\opencv\modules\core\src\matrix.cpp, line 751
該当のソースコード
opencv_createsamples.exe -img ' + img_path + ' -bg neg/neglist.txt -info pos/src/poslist_' + \str(cnt).zfill(4) + '.txt -num 15 -maxxangle 0.7 -maxyangle 1.3 -maxzangle 0.5 -bgcolor 0 -bgthresh 0 -w 24 -h 24
試したこと
不正解画像よりも正解画像のほうが大きくならないようリサイズし、実際にサイズの確認も行っています。
埋め込み画像を複製する際に回転させるときに横幅が大きくなるので、それも見越して正解画像をかなり小さめにしてみてもエラーになります。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー