OpenCV
Fri.23.11.2007 Posted in コンピュータ
 OpenCVはコンピュータヴィジョン向けのライブラリ。画像処理や物体追跡、パターン認識、機械学習などを行える。これでスネーク(輪郭抽出)を行える。私はこのためにひたすら探した。
 サンプルコードは『opencv.jp』や『OpenCV による画像処理』など。
 本も出ている。
OpenCV プログラミングブック OpenCV プログラミングブック
奈良先端科学技術大学院大学 OpenCVプログラミングブック制作チーム (2007/09/22)
毎日コミュニケーションズ
この商品の詳細を見る
 C#でOpenCVを使いたい場合はSharperCVというラッパーがあるが、開発は進んでいない模様。SharperCVで使った画像を、C#のImageクラスに変換できないのが痛い。自分で作ったラッパーをさらにかぶせたほうが良い。


参考
opencv.jp
OpenCV - Wikipedia
SharperCV Project


下記追加 2008年4月17日

CvImageからBitmapに変換する方法

 flatolさんからもらったコメントを追加。
 CvImageはSharperCVで画像を扱うためのクラス。BitmapはC#で画像を扱うためのクラス。
CvImage ImageFrame;
ImageFrame = capture.QueryFrame();
Bitmap bm = new Bitmap(ImageFrame.Size.width,
ImageFrame.Size.height,ImageFrame.Size.width * 3,
System.Drawing.Imaging.PixelFormat.Format24bppRgb,
ImageFrame.getPixelAddr(0, 0, 0));

OpenCVのラッパーをC\+\+/CLIで作ってはどう?

 今、私はSharperCVは使わず、C\+\+/CLIで.Net Framework用のラッパーを作っている。C\+\+/CLIだと、OpenCV用のサンプルコードをほぼ再利用できる。ちょっといじる必要がある時もあるけど。私が必要なのは物体追跡した結果くらいなので、これで十分だ。(そこまでしてC#を使いたいのか! と思うだろうが、ある程度作ったものがあるので……)
 ちなみに、『TechEd2007 のビデオ公開始めました』で『C\+\+C\+\+/CLI・C# 適材適所』というプレゼンの動画が公開されている。

Tag: 画像処理 プログラミング .Net C# C++

関連エントリー


« 『Visual C++ 2005 Express Edition』で『Microsoft Platform SDK』を使う | Home | 世界最大の総合酒類メーカー『ディアジオ(Diageo)』 »

comments

sharperCVから変換する手はないわけではないですよ。

CvImage ImageFrame;
ImageFrame = capture.QueryFrame();
Bitmap bm = new Bitmap(ImageFrame.Size.width,
ImageFrame.Size.height,ImageFrame.Size.width * 3,
System.Drawing.Imaging.PixelFormat.Format24bppRgb,
ImageFrame.getPixelAddr(0, 0, 0));

情報ありがとうございます

flatolさん、情報ありがとうございます。記事に追加させていただきます。

コメントの投稿


管理者にだけ表示を許可する

trackback


この記事にトラックバックする(FC2ブログユーザー)

topBack to TOP