OpenCV使用上の代表的トラブルまとめ

4
dandelion @dandelion1124

OpenCV使用上の代表的トラブルは, 1.各種パス(ライブラリ、ヘッダファイル) が通ってない 2.画像読み込み失敗してるのに処理継続 3.関数が要求する型(色数,デプス との不整合 が多い気がするけどそれ以外にあるかな・・・.※次回以降の記事用ネタ向け

2014-11-02 22:21:30
みすず @hong_meiling

@dandelion1124 Windows限定ですが Debug用のライブラリとRelease用のライブラリをごっちゃにすると、謎のランタイムエラーが起こる、というのはどうでしょう

2014-11-02 22:56:20
dandelion @dandelion1124

@hong_meiling コメントありがとうございます。その状況に遭遇したことが無いのですが、「ライブラリをごっちゃにする」は(1)highgui249、highgui249dを同時にリンク (2)highgui249 core249dを同時にリンク どちらのケースでしょうか?

2014-11-02 23:13:16
みすず @hong_meiling

@dandelion1124 すみません。微妙に説明が違っていました。デバッグビルド時に、インポートライブラリでrelease版のライブラリをリンクするというやつです。たとえば、core249.libやhighgui249.libをリンクするというやつです。

2014-11-02 23:20:12
dandelion @dandelion1124

個人的によくあるあるな 4. TBBのDLLパスが通ってない が抜けてた!

2014-11-03 01:01:11
無駄にツイッターIDが長い人 @ChaoticActivity

@dandelion1124 個人的あるあるでは、static libをリンクするのに3rd party libをリンクし忘れてエラーとか、32bit/64bitの不整合でエラーとかがよくありますね(←すぐ解る問題なのでダメージは小さいですが)

2014-11-03 01:11:32
ゆるふわUnaさん@A判定 @UnaNancyOwen

@dandelion1124 ビルドのターゲットプラットフォームとリンクするライブラリのターゲットプラットフォームが異なるためにリンカエラーになるとかありそうです。

2014-11-03 01:36:52
ゆるふわUnaさん@A判定 @UnaNancyOwen

@dandelion1124 あとは、リンクしたライブラリとシステムにパスの通っている動的リンクライブラリのターゲットプラットフォームが異なるためにビルドできるけど実行時エラーになるとかもありそうです。

2014-11-03 01:37:51
ゆるふわUnaさん@A判定 @UnaNancyOwen

@dandelion1124 単純に必要なライブラリをリンクするように設定していない、必要なヘッダファイルをインクルードしていないっていうのもありそうです。

2014-11-03 01:42:59
あるしおうね @AmadeusSVX

@dandelion1124 SIFTなどのnonfree系のインクルードと初期化はいかがでしょう?

2014-11-03 02:07:16
izm @izm

@dandelion1124 Cインタフェースを使ってメモリがどんどんリークしていく。という悲劇が毎年誰かやっている印象があります!

2014-11-03 09:29:45
dandelion @dandelion1124

@izm 悲劇を生むC API駆逐したいです!web上のサンプルはC API使ったの結構多いせいですかね。。。

2014-11-03 10:22:46
izm @izm

@dandelion1124 駆逐したいですね。これからはダンデライオンさんがナマハゲの恰好をして「C APIを使ってるヤツはいねーかー!!」と問い詰めるなどの啓蒙が必要かもしれません。

2014-11-03 10:26:31