OpenCvSharpをつかう その18(ラベリング・改)

この度、ラベリング機能を提供するOpenCvSharp.Blobを、P/Invokeによる実装をやめ、すべてC#(マネージドコード)で実装しなおしました。これは以下の理由からです。

  • ●特にCvBlobインスタンスの取り回しが悪い。リスト側のCvBlobsが解放されるとCvBlobも解放されてしまうので、永続化しづらい。
  • ●上記に関連しメモリリークや異常終了が多発。ネイティブリソース解放周りの改善が、cvblobの実装上と難敵"GC"の兼ね合いでかなり苦しい。

変更は、2.4.5 (19 Jan., 2014)版から取り入れています。NuGetも更新済みです。
https://github.com/shimat/opencvsharp/releases

今回の変更は、出力のblobは変わらないように作ったつもりです。ただし若干APIに変更があるので、以前のコードとの互換性は失われています。より良くなったはずなのでご理解いただければと思います。
以下では、変更点を絡めながら改めて使い方を紹介します。

OpenCvSharpをつかう 記事一覧

続きを読む

OpenCvSharpをつかう その17(NuGetで導入)

前々からの野望だったNuGetパッケージを、このたび公開しました!
その1で紹介した方法よりもずっと簡単に使い始めることができるはずです。OpenCVの事前インストールも不要です。

まだ作りたてほやほやなので変更されるかもしれませんが、ひとまずの使い方紹介をいたします。Windows / Visual Studio環境のみ念頭に作っています。

NuGetのページは以下です。
https://www.nuget.org/packages/OpenCvSharp-AnyCPU/

OpenCvSharpをつかう 記事一覧

続きを読む

OpenCvSharpをつかう その15(適応的閾値処理)

適応的閾値処理 (Adaptive Thresholding) を使うサンプルです。

始めからぶっちゃけますと cvAdaptiveThreshold を使え、という話になりますが、本記事はそれだけでは終わりません! OpenCvSharpでは、OpenCV標準では用意されていない適応的閾値処理を、こっそり組み込んでいます。今回、初めてそれを公にしておきます。

OpenCvSharpをつかう 記事一覧

続きを読む

OpenCvSharpをつかう その14(Debian wheezyで動かす)

3年ぶりの「OpenCvSharpをつかう」シリーズ再開です!
OpenCvSharpをLinuxで動かすことについては、大昔に断片的に書きましたが、最後まで通しで書いてみます。記憶を頼りに書いているので、本当は詰まった箇所が抜けているかもしれません。
OpenCV / OpenCvSharpのバージョンは2.4.5とします。

OpenCvSharpをつかう 記事一覧

続きを読む