hosts

先日PCをリカバリしたのですが、そしたらローカルにある外部公開用サーバにホスト名でアクセスできなくなってちょっと焦りました。万全にバックアップしていたつもりでも、結構忘れている設定などがあります。メモっときます。

消したはずのWubiがブートローダに残る

Wubiを再インストールしたりしてるうちに、なぜかブートローダから消えずに残ってしまい、起動時に Microsoft Windows Vista Ubuntu Ubuntuのように表示されるようになってしまいました。これの解決方法の備忘録です。

CvEMを実装

まだリポジトリに上げただけですが、CvEMを最低限動くところまでラップしました。 EMアルゴリズムは疎いのでロクに説明はできません。こちらをご覧下さい。http://opencv.jp/opencv-1.1.0/document/opencvref_ml_em.html#ch_em このページの下にあるサンプル…

CvSVMを実装

ひととおりCvSVMをラップしました。 CvSVMなどのC++のクラスで実装されている機械学習関連のものは、MachineLearningという新しい名前空間でラップしました。 これでこちらのサンプルが動きます(下2つは学習ファイルが無いので未確認)。 http://opencv.jp/…

cvFilter2D, cvCopyMakeBorder, cvIntegral を実装

cvFilter2D, cvCopyMakeBorder, cvIntegral 関数をラップしました。これで、以下のページのサンプルが全部動きます。たぶん。 http://opencv.jp/sample/filter_and_color_conversion.html詳解 OpenCV ―コンピュータビジョンライブラリを使った画像処理・認識…

卒業研究最終発表

プレゼンしてきました。色々ありましたがともかく終わり、これで一応卒研は一区切りです。とはいえ、今度は市民向けの講演というのが来週に控えているので、まだ気は抜けません。大学院でも現在の研究テーマで続投するのかどうかが、現在一番気をもんでいる…

正月の十勝

今日デジカメを見たら、正月に十勝に帰省した際に撮りためた写真に今頃になって気づきました。せっかくなので上げておきます。 遥か彼方に十勝連峰を望む図。この坂は昔から大好きなポイント。場所はこの辺です。 ここからちょっと左を向くとこんな風景。こ…

文字の全ての組み合わせの列挙

例えばパスワードに総当たり攻撃をかけるときには、文字のあらゆる組み合わせからなるパスワードを作ってみて攻撃することになります。どういうアルゴリズムで作れるのか興味を持ったので書いてみました。 こんなクラスを定義しておきます。いまいちスマート…

ひなた先生が教えるデバッグが256倍速くなるテクニック

前々からほんのちょっと気になってはいたのですが、今日ちらっと立ち読みして気に入ったので買ってまいりました。 【送料無料】ひなた先生が教えるデバッグが256倍速くなるテクニック [ やねうらお ]ジャンル: 本・雑誌・コミック > PC・システム開発 > その…

.NET Frameworkの例外一覧

例外を投げたいとき、「この場合だとどの例外を投げるのが適切なんだろう?」と悩むことが良くあります。すぐ出てくるのはArgumentException, ArgumentNullException, FileNotFoundExceptionぐらいで、他はパッと出てこないのでただのExceptionを投げて誤魔…

Task Parallel Library (TPL) を使う

C#

TPLとは C#などの.NET Framework上の言語で並列処理を行うライブラリです。最近のCPUはほぼすべてマルチコアな訳で、それなのにシングルスレッドでプログラムを書いてCPU1個しか働いてないのはもったいない、全部働かせよう、というわけです。自分でThreadな…

卒論提出

先ほど卒業論文を提出してきました。出来はあまり自信がなかったのですが、先生には「良くまとまっている」とお褒めの言葉をいただきまして、ありがたいことです。まだ最後にお偉い教授陣を前に研究成果のプレゼンがありますので気を抜いちゃ駄目なんですが…

SeagateのHDDファームウェアをアップデート

PC

最近巷で話題なSeagateのHDDの問題。うちのHDDも調べてみたらSeagateで、もろに該当のものでした。ついでに言うと研究室のPCもSeagateで、これまたビンゴでした。どうしてこの卒論でくそ忙しい時にこんな目にというところですが、突然おじゃんになっては卒業…

x64環境でのOpenCvSharp

最近研究室のPCが64bit版のWindows Vistaになったのですが、それからというものOpenCvSharpを呼び出している研究のプログラムがBadImageFormatExceptionを吐いて全く動かなくなってしまいました。 あれ?.NETってそういう環境の違いうまく吸収してくれるんじ…

電子ピアノ購入

買っちゃいました。 今までは http://www.casio-intl.com/emi/key_lighting/lk80.html これからは http://casio.jp/emi/privia/px720_720c.html PX720とPX720Cで大いに悩みました。 うまい人に言わせると「所詮CASIOは・・・」ということになるのでしょうが…

SURFのサンプルをラップ

下の記事でラップしたCV.ExtractSURFを用いて、OpenCV/samples/c/find_obj.cppをC#に書き換えて動作させることに成功しました。ただ、妙に重いのが謎です。ポインタによるアクセスを避けている分のオーバーヘッドは覚悟しているのですが、ここまで重くのなる…

cvExtractSURF

せっかくOpenCV1.1preに対応したということで、新たに実装されたらしいSURF(Speeded Up Robust Features)の関数をラップしてみました。 cvExtractSURFの定義は以下の通り。(cv.hの1111行目あたり) CVAPI(void) cvExtractSURF( const CvArr* img, const CvArr…

OpenCvSharp 1.1pre

時間があったのでOpenCV1.1pre向けのものを公開してみました。http://code.google.com/p/opencvsharp/downloads/listOpenCvSharpのバージョン番号はOpenCVと同期させることにしました。細かいバージョンは、どのタイミングでどれぐらい上げたらいいのかとか…

Wubi 8.10

またWubiを入れる機会がありました。前回導入時からバージョンが上がって8.10になっていましたが、それにより微妙にいろいろ詰まったのでメモっときます。 インストール http://wubi-installer.org/ インストーラにより自動的にディスクイメージの取得が行わ…

キャプチャしたIplImageをWriteableBitmapに変換すると反転する問題

Bitmapの方を片づけて一息ついてしまいましたが、当然この問題はWriteableBitmapでも起こるわけで。WriteableBitmapの方には反転する良いメソッドが見当たらなかったので、こちらはcvFlipで解決させました。 研究のプログラムはWPFで作っているので、個人的…

キャプチャしたIplImageをBitmapに変換すると反転する問題

があったようです。 id:Guernsey:20081206:1228571105 Windowsのビットマップでは左下が原点となっていたりするのが原因らしいです。 cvFlip関数のリファレンスを見ると、 http://opencv.jp/document/opencvref_cxcore.html#decl_cvFlip まさしくWindowsでキ…

OpenCV1.1

OpenCvSharpのOpenCV1.1preへの対応は現在試行錯誤中なのですが、カメラキャリブレーションがうまく動かないため保留にしています。話によるとキャリブレーションは1.1ではもっと簡単にできるようになったとかならないとか。 とりあえずpreが取れるまでは様…

OpenCV Wrappers

OpenCVのラッパーが結構たくさん一覧になっています。http://www.eyegazetracking.com/2008/10/opencv-wrappers.html 今回は.NET Framework向けのラッパーのみに絞って、過去に触ってみた感想を書いてみます。なお、大して時間をかけて使ってみた訳ではない…

卒業研究中間発表

卒業研究の中間報告のプレゼンがありました。おおむね首尾よくいったのではないかと思います。 OpenCvSharpはまさしくこの卒研の為に作り始めたのですが、研究では結局のところOpenCVの機能としては二値化と平滑化ぐらいしか使っておらず、あとは自前でごり…

現在進行形で雪がすごいので、最近買ったデジカメで撮ってみました。この冬初めての積雪です。 ちょっと前の風景。 ほんの昨日までこんな風景だったのが、朝起きてみると別世界。この驚きと感動はいくつになっても新鮮です。雪降らない所に住んだら多分気が…

2DRotationMatrix

OpenCVクラスをCVクラスに名前変更した際、メソッドの先頭の"cv"を取り払ったのですが、そうすると"cv2DRotationMatrix"が"2DRotationMatrix"になって先頭に数字が来てしまい、困ってしまいました。現在とりあえず"_2DRotationMatrix"という名前になっていま…

C++/CLIのキーワードページを作成

「はてなダイアリー市民」とやらに最近なりまして、キーワードの作成ができるようになったので、作ってみました。C++/CLIこのページが無かったなんて・・・C++/CLI流行ってないんですかね。個人的には.NETの言語の中でも最強クラスだと思うんですが。明示的…

参照渡しの罠

ラッパーを書いていると当然のようにポインタが山のように出てきます。中でもcvCreateTrackbarは鬼門の一つです。定義は次のようになっています。 CV_EXTERN_C_FUNCPTR( void (*CvTrackbarCallback)(int pos) ); int cvCreateTrackbar( const char* trackbar…

顔検出

Haar分類機のあたりをラップしました。これを使うと顔の認識などができます (cvHaarDetectObjects)。OpenCVにはあらかじめ学習したデータが同梱されているので、それを利用するとすぐに顔検出を試してみることができます。 以下の画像はヤルタ会談の写真に顔…

OpenCV -> CV

OpenCvSharpの、OpenCVでいうcvなんたら関数の寄せ集めクラスである "OpenCV" クラスを "CV" に名前変更しました。これにより、 IplImage src = OpenCV.cvLoadImage("lenna.png", LoadMode.GrayScale); IplImage dst = OpenCV.cvCreateImage(new CvSize(src.…