少し前に要望が有ったので、組み込んでみました。まだ進捗は半分程度といったところですが、サンプルは動きました。
ソースはこのような感じです。ほぼcvblob付属のtest.cppの直訳です。
using (IplImage img = new IplImage("shapes.png", LoadMode.Color)) using (IplImage chB = new IplImage(img.Size, BitDepth.U8, 1)) using (IplImage labelImg = new IplImage(img.Size, BitDepth.F32, 1)) { Cv.Threshold(img, img, 100, 200, ThresholdType.Binary); Cv.Split(img, chB, null, null, null); using (CvBlobs blobs = new CvBlobs()) { uint result = CvBlobLib.Label(chB, labelImg, blobs); CvBlobLib.RenderBlobs(labelImg, blobs, img, img); } using (CvWindow window = new CvWindow("cvblob test", img)) { Cv.WaitKey(0); } }
blob、すなわちラべリングを行うライブラリはいくつかありますが、今回利用させていただいたのは以下のものです。設計がコンパクトで、ラップしやすかったです。
cvblob : http://code.google.com/p/cvblob/
もうひとつ、こちらの方がおそらく知名度はあります。
cvBlobsLib : http://opencv.willowgarage.com/wiki/cvBlobsLib
- 作者: 北山洋幸
- 出版社/メーカー: カットシステム
- 発売日: 2010/04
- メディア: 単行本
- クリック: 21回
- この商品を含むブログ (5件) を見る