Windows7のVirtual PCにUbuntu 9.10を入れる

Windows7に搭載された「仮想マシン」の機能は主にXPモードのため使われると思いますが、もちろん他のOSを入れることもできます。公式にサポートしているのはXPやVista, 7ですが、Virtual PC 2004や2007の経験からいえばLinuxもインストールできるはずです。…

OpenCvSharp x64版を公開

64bit版を公開しました。ずいぶんファイルが増えました。なおOpenCV1.1pre向けはそもそも1.1preがあまり64bitに対応していなさそうなので見送っています。(2.0も、まだまだという面はあります。)http://code.google.com/p/opencvsharp/downloads/list 去年か…

OpenCV 2.0 でのhighguiの新しい関数 不完全一覧

以前にcvについて新しく増えた関数の一覧を書きました。http://d.hatena.ne.jp/Schima/20090911/1252661453今回はhighguiについてもまとめておきます。新しく追加された関数や、引数が増えた関数を一覧にしてあります(C++ Interfaceは除く)。例によって正確…

ラッパー用ファクトリ関数でdeleteすると落ちる

以下のように、C++のクラスのインスタンスを作成するため、C#からDllImportで呼び出せるようなファクトリ関数を作ってあるとします。 #define EXTERN(type) extern "C" __declspec(dllexport) type __cdecl EXTERN(std::vector<int>*) vector_new() { return new </int>…

size_tのマーシャリング

C C# C++

以下のようなCの構造体について、P/InvokeのためにC#で同等の構造体を定義するとします。 typedef struct Hoge { size_t size; int x; }Hoge; 32bit環境に限れば、size_t は普通 unsigned int ですから、C#では以下のようになります。 [StructLayout(LayoutK…

OpenCvSharpをつかう その11(画像のサイズ変更)

その1 その2 その3 その4 その5 その6 その7 その8 その9 その10 cvResizeを用いた拡大処理のサンプルです。詳しい解説はありません。

twitterを公開にしました

かれこれ2年半以上protectedだったので勇気がいりますね。 http://twitter.com/Schima

IntPtrが示すバイト列のポインタをGZipStream/DeflateStreamで圧縮・展開する

C#

.NET Frameworkでは、System.IO.Compression.GZipStreamやSystem.IO.Compression.DeflateStreamクラスを用いて、データを圧縮・展開することができます。この2つのクラスは全く同じように使えるため、以下ではGZipStreamで話を進めます。 以下のコードは、指…

OpenCvSharpをつかう その10 (Star Detector)

その1 その2 その3 その4 その5 その6 その7 その8 その9 このところOpenCvSharpの使い方というよりはただのOpenCV 2.0の新機能紹介になっているこのシリーズですが、今回はStar Detector(日本語だとStar検出器?)のサンプルを作ってみたのでご紹介します。S…

OpenCvSharpをつかう その9 (MSER)

その1 その2 その3 その4 その5 その6 その7 その8 だんだんいい加減になっているこのシリーズですが、MSERのサンプルを作ってみたのでご紹介します。MSERの関数はOpenCV 2.0で追加されました。

OpenCvSharpをつかう その8 (LSH)

その1 その2 その3 その4 その5 その6 その7 突然レベルが急上昇している気がしますが、LSHのサンプルを作ってみたのでご紹介します。LSHの関数はOpenCV 2.0で追加されました。

"VideoInputSharp"をつくってみた

オープンソースプロジェクト第二弾。http://code.google.com/p/videoinputsharp/videoInputの.NET Framework向けラッパーです。videoInputというのは、DirectShowによるビデオキャプチャを容易にできる、C++向けライブラリです。Windows限定なのでラッパーは…

Visual Studioのユーザー キーワードを有効にする

Visual StudioのC++のIDEでは、intやcharといった標準のキーワードがハイライトされて色が付きます。実はそのほかの任意のキーワードについても、設定を行うことでハイライトが可能です。

OpenCV2.0対応版OpenCvSharpを公開

気付いた範囲でOpenCV2.0で増えたcvの関数を追加しました。http://code.google.com/p/opencvsharp/downloads/listOpenCV2.0をインストールするとbinディレクトリには「libcv200.dll」といったDLLが置かれていますが、OpenCvSharpはこれらは読み込みに行きま…

16ビット画像を生成する

訳あって1画素16ビットのグレースケール画像が入り用になりました。生成できるフリーソフトは何かしらあるとは思いますが、今回はこれをOpenCVで生成しようと考えました。

OpenCV2.0でcvの関数がおかしい?

C#からOpenCV2,0をDllImportで呼び出してみたところ、AccessViolationExceptionが発生しました。 static class Program { [DllImport("libcxcore200")] extern static CvSize cvGetSize(IntPtr arr); [DllImport("libcxcore200")] extern static IntPtr cvCr…

OpenCV2.0.0をビルドする

早速Visual Studioの環境設定をするか・・・と思ったのも束の間、libディレクトリにあるライブラリファイルがこんなことになっていました。.a なのでUnixのスタティックライブラリでしょうか。ということはWindowsでは使えないので、自分でOpenCVをコンパイ…

OpenCV2.0.0リリース

延びに延びていましたがようやく出ました。http://sourceforge.net/projects/opencvlibrary/やはりバージョン番号は1.2ではなく2のようです。 ぼちぼちOpenCvSharpも2.0.0対応に向けてがんばりますか・・・・

PLAYSTATION Eye を.NET Frameworkから使う

PLAYSTATION Eye について PlayStation3用のカメラとして、「PLAYSTATION Eye」というものがあります。PLAYSTATION Eye(CEJH-15001)出版社/メーカー: ソニー・コンピュータエンタテインメント発売日: 2008/07/24メディア: Video Game購入: 4人 クリック: 110…

Twitterアカウント作成

OpenCvSharpの更新履歴というのは全然記録しておらず、コミットログだけが頼りだというひどい状況です。遅ればせながら、以下のアカウントに日々の更新を書き連ねていくことにしました。http://twitter.com/OpenCvSharpTwitterもログはあまり遡れないサービ…

cvRedirectError復活!

OpenCV 2.0 betaにてcvRedirectErrorが使えなくなっていた件ですが、revision2170〜2171にて修正された模様です。いやーよかった。

OpenCvSharpをつかう その7 (WindowsFormsで動画の再生)

その1 その2 その3 その4 その5 その6 OpenCVのhighguiではなくWindowsFormsのウィンドウ上で動画を再生したいということは多いようです。OpenCvSharpに限っても、以下のページなどで試みられています。http://d.hatena.ne.jp/Guernsey/20081207/1228649067 …

Debugger Visualizerを自作する(値の書き換え)

C#

Debugger Visualizerは、ただ表示するだけではなく、値の編集も行うことが出来ます。今回は、System.Text.StringBuilderの保持する文字列の表示・編集が可能なDebugger Visualizerの作成の方法の紹介です。ちなみにStringBuilderはSerializableです。以下は…

Debugger Visualizerを自作する (Serializableではないクラスの場合)

C#

今回は System.Security.Cryptography.RijndaelManaged に対するDebugger Visualizerを自作することを考えます。暗号化・復号化に必要なIVとKeyのバイト列の値を16進数表記で表示させるという特に面白くもなんともないサンプルです。このクラスはSerializabl…

OpenCV2.0 betaのPythonバインディングを試す

OpenCVにはPythonから扱うためのラッパーが標準で添付されています。SWIGで機械的に作られている感じですが、いずれにしろラッパー開発者として知っておかないわけにはいきません。

cvRedirectErrorはOpenCV2.0では使えない?

先日実装したOpenCvSharpのエラーハンドリング機能ですが、早くも暗雲が立ち込めております。

cvLoadのエラーについて

OpenCV 1.1preでは、cvLoadは使う前にあらかじめcvの関数を呼んでおかないとエラーになるようです。http://www.codeproject.com/KB/cs/Intel_OpenCV.aspx?msg=2784187 http://www.openframeworks.cc/forum/viewtopic.php?f=10&t=1853よって、何かcvの関数、…

OpenCV 1.2(2.0?) でのcvの新しい関数 不完全一覧

OpenCVの新しいバージョンが、ベータ版ですがリリースされたようです。http://sourceforge.net/projects/opencvlibrary/しかしバージョン番号がよくわかりません。上のSourceForgeのダウンロードページでも、ボタンには2.0とありますが、ファイル名やインス…

エラーハンドリングに対応

cvRedirectErrorに設定するコールバック関数を独自に設定することで、エラーの際に従来のようなメッセージボックスによるエラーメッセージの表示ではなく、.NET Frameworkの例外が投げられるようになりました。

エネループバイク CY-SPA226 レビュー

この前ハリヤを買う時に、実家の母にも電動アシスト買ったらどうかとそそのかしまして、結局二人同時に買うことにしました。この度実家に帰って試し乗りしてみた感触をハリヤと比較して書いてみます。メーカーのサイト: http://products.jp.sanyo.com/enelo…