読者です 読者をやめる 読者になる 読者になる

モノクロタイム

I'm from the future!

【OpenCV2.x】Assertion Error

opencv VC++

こんにちは,れいじです.

OpenCV2.x系でMatを使用していると,エラーが有った時コンソールにエラーが出てますよーってアナウンスしてくれるんですね.

プログラムを組んでいて,ぶち当たったエラーについて列挙していきます. 新しくエラーを発見した時は更新していこうと思います.

ROI

OpenCV 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 unknown function, file ...

<原因>

  • 画像が読み込めていない←まず確認

  • Rectか何かで画像の一部を選択する時,選択領域が画像からはみ出ている

dims

OpenCV Error: Assertion failed (dims <= 2 && data && (unsigned)i0 < (unsigned)size.p[0] && (unsigned)(i1DataType<_Tp>::channels) < (unsigned)(size.p[1]channels()) && ((((sizeof(size_t)<<28)|0x8442211) >> *1*4) & 15) == elemSize1()) in unknown function, file ...

<原因>

  • Matで各画素にアクセスするときに.atを使用した時,Matのデータ型と.atで指定したデータ型が違う

→参考

ゴリラになる知識: atのデータ型が違う

*1:DataType<_Tp>::depth) & ((1 << 3) - 1