2009-06-01から1ヶ月間の記事一覧

ポインタからfloat,doubleの値を読み取る

C#

ポインタから値を読み取るメソッドとして、Marshal.ReadByte, Marshal.ReadInt16, Marshal.ReadInt32, Marshal.ReadInt64 があります。すなわち、byte, short, int, long についてはこれらのメソッドを使うことで、unsafeを使うこと無くポインタの実体の値を…

OpenCvSharpをつかう その5 (平滑化)

その1 その2 その3 その4 今回はcvSmoothを使った平滑化です。 ただし、画像に対して平滑化をかけるのではサンプルと比べて代わり映えもしませんので、ここでは普通のマネージ配列に対してガウシアンフィルタをかけてみます。今回はほとんど説明は無し。

.NET Framework 2.0に対応させた

新しいバージョンをリリースしました。WPF関連はOpenCvSharp.Extensions名前空間に追いやって、コアの部分は2.0で動くようになりました。これで欠点の一つは克服。プログラミング.NET Framework 第4版 (プログラミングシリーズ)作者: Jeffrey Richter,藤原雄…

System.Drawing.Bitmap を System.Windows.Media.Imaging.BitmapSource に変換する

名前空間が長すぎてうんざりしますが、つまりGDI+のBitmapから、WPFのBitmapSourceに変換しようということです。 using System.Drawing; using System.Runtime.InteropServices; using System.Windows; using System.Windows.Controls; using System.Windows…

OpenCvSharpを使う その4 (フィルタリング)

その1 その2 その3 今回はIplImageと並んで重要な配列オブジェクトであるCvMatについてご説明しようと思います。CvMatを使う例としてここではcvFilter2Dを用いたフィルタリング処理を行います。

OpenCvSharpを使う その3 (グレースケールに変換)

その1 その2 今回は読み込んだカラー画像をグレースケールに変換します。OpenCVの関数にはグレースケール画像しか受け付けないというものが相当数存在するので、これは重要な処理です。 (最初からLoadMode.GrayScaleにしてグレースケールで読み込めばいいじ…

メンバに配列を持つ構造体のマーシャリング

C#

コメントにご質問があったので、少し長くなりそうなのでこちらで書かせてもらいます。構造体とポインタ(若しくはバイト配列)との相互変換を行う方法については以前紹介しましたが、あの時の例はあえてごく簡単な構造体にしてありました。今回はメンバとし…

.NET Framework 2.0へ対応させたい

現在OpenCvSharpは.NET Framework 3.5が必要ですが、これを2.0にしたいと考えていて、今書き直し中です。この前「もう仕様はあまり変わらない」とか言っておきながらやや心苦しいですが。理由としては.NET Framework 2.0の普及率の高さやVisual Studio 2005…

幻想的?な写真

七重浜方面を写したものです。いつもなら青森県側が見えるあたりに、「あれ、こんな山あったっけ?」というような山が見えて、そこに雲がかかってちょっといい感じでした。 函館どつくのゴライアスクレーンを撤去するために船でやってきたらしいクレーンが、…

OpenCvSharpを使う その2 (画像の読み込み)

今回は画像を読み込んで表示したりします。 class Program { static void Main(string[] args) { IplImage img = Cv.LoadImage("lenna.png"); Cv.NamedWindow("window"); Cv.ShowImage("window", img); Cv.WaitKey(); Cv.DestroyWindow("window"); Cv.Releas…

OpenCvSharpを使う その1 (準備)

※NuGetパッケージを公開しました。この記事より簡単に導入できますので、今後はNuGetをお勧めします。説明は以下から。 http://schima.hatenablog.com/entry/2013/12/15/110513 開発がひとまず一段落し、もう今後大きく仕様が変わることはなさそうなので、こ…

MLのラップ完了

OpenCVのML(Machine Learning : 機械学習)のラップが完了しました。厳密にはやや抜けているメソッドがあるのですが、おそらく使えるレベルにはなったはずです。 残るはcvauxのみ。OpenCVの次のリリースに間に合うかどうか。 http://opencv.jp/opencv-1.1.0/d…

独自のmarshal_as/marshal_contextの定義

marshal_as, marshal_contextについては、以前に文字列の変換における利用方法を書きました。今回は独自の変換を行う方法について書きます。

TortoiseSVNの認証データを消す

PC

TortoiseSVNでコミットなどをする際に、リポジトリによってはIDとパスワードを入力することを求められます。この認証の際に入力情報を保存するチェックを入れると、以後は認証画面は出なくなります。しかし、何らかの理由で別のIDで入りたくなった場合に困る…