« おっちゃんと自転車 | トップページ | OpenCV2.4.3のWindows版がビルド失敗 »

2013.01.23

OpenCvSharpは.Net Framework2.0

.NetからOpenCVを利用した画像認識のソフトを作るために、OpenCvSharpというラッパーライブラリを使わせてもらっています。OpenCV用のCのサンプルなどを機械的にトランスレートできる感じが便利です。

で、OpenCvSharpの利用にあたって、SystemRequirementsに 「.NET Framework 2.0」 と書いてあることは認識していましたが、ついつい4.0でプロジェクトを作ってしまっていましたよと。

ビルドして動かしてみると、ぱっと見動いているのですが、数分動作させると、スレッド間の排他処理で意味不明のデッドロックになったり、終了時にアクセスバイオレーションで落ちたり。メモリリークしてるっぽい挙動。特にウィンドウメッセージが多く飛び交うような状態だと結構落ちる。

このときは、すっかりフレームワークのバージョンのことは忘れておりまして。リソースの解放やらなんやらかんやらを調べていたのですが、埒があかずに数日過ぎる。

「こらちょっと別な方法を探さなあかんかな?」というところで、やっと気付きまして(遅い)、2.0を使うようにすれば、当たり前のように(当たり前ですが、)問題解消。

フレームワークのバージョンに依存する可能性を考えていなかったのが敗因(勝ち負けではないが)。

調査中にプログラムを徐々に単純化していったので、自分で入れ込んだバグも修正された可能性もありますけどね。

てことで、OpenCvSharpを使って「おかしい」と感じた時は.Net Frameworkのバージョンを確認してみましょう。

« おっちゃんと自転車 | トップページ | OpenCV2.4.3のWindows版がビルド失敗 »

プログラミング」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: OpenCvSharpは.Net Framework2.0:

« おっちゃんと自転車 | トップページ | OpenCV2.4.3のWindows版がビルド失敗 »

2019年5月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
フォト

Google AdSense

銀の弾丸

無料ブログはココログ

他のアカウント