OpenCVのAPIに対して、有効でないパラメータを渡すとプログラムが落ちてしまう。
今回は、std::vector<cv::Point>のデータを、cv::fitEllipseに渡すと時々落ちてしまう現象が生じた。
落ちる場所は、わかったのだがなぜ落ちるのかは、すぐにわからなかった。
cv::fitEllipseにも注意書きがない
そこで、まじめにtry {} catch (cv::Exception e) {} で問題箇所を囲ったところ
std::vector<cv::Point>のサイズが5必要というエラーであることがわかった。
教訓
原因が不明な場合は、落ちる場所で、try {} catch (cv::Exception e) {} で囲いましょう
0 件のコメント:
コメントを投稿