なんちゃってAR

最近はやりの拡張現実感ですが、どれか一つ実装してみたく思います。具体的には以下の流れをリアルタイムで処理したい。


(1)画像から特徴点抽出
(2)アーカイブされた特徴点とマッチング
(3)関連情報を重畳
(4)(1)に戻る


もう誰かやってそうですが、調べた限りSRSystemくらいしか見つかりませんでした。
どなたか知っている方いらっしゃいましたら、情報ください。


とりあえず慣れてるVisualStudio2008+OpenCV+WebCamで実装してみますが、そのうちiPhoneAndroidでも試してみたいと思います。
PTAMも少し興味ある↓
http://turi2.net/cont/program/ptam.html


ほんとは特徴点見つけるところからコーディングしなきゃなんですが、取り敢えずはライブラリィにヘルプミィするだろうなあ。

OpenCV1.0(x64)

Windows7, VisualStudio2008、プラットフォームx64にてOpenCV1.0が使いたいなう。

最初は簡単かと思っていたが、OpenCV2.0はともかく1.0は64bitに対応していない。当然Program Files(x86)のほうにフォルダがあるし………どうしたらいいの!?


アンサー : http://wtpage.info/program/opencv.html
これほど素晴らしい解説は見たことがありません。多謝。


で、リンク先最下行にあるようにWindows7, VS2008だとコンパイルエラーが出るので、


OpenCV\cv\src\cvhough.cpp(478)

#if defined WIN64 && defined EM64T && _MSC_VER == 1400 && !defined CV_ICC

#if defined WIN64 && defined EM64T && _MSC_VER >= 1400 && !defined CV_ICC

に変更する。
"_MSC_VER == 1400"の部分がVS2005のことを指しているらしいので、"それ以降"に修正⇒コンパイル成功


んで、早速プログラムで使おうとしたところ、


1>c:\program files\opencv\cxcore\include\cxtypes.h(212) : error C4235: 非標準の拡張機能が使用されています : '__asm' キーワードはこのアーキテクチャではサポートされていません


と言われた。
探してみると、cxtyps.h(210)内、cvRound()定義中の

#elif defined WIN32 && !defined WIN64 && defined _MSC_VER
    __asm	// henkou
    {
        fld value;
        fistp t;
    }
    return t;

でつまづいている。調べたところ"__asm"はx64環境では使用できないアセンブリ絡みとのこと。
cvRoundは意外と使うので、上記箇所をコメントアウトしてビルド成功。


・・・しかし待てよ?x64でビルドしてんだから、このエレイフはスルーするんじゃないの?WIN64って定義されてないの?と思い、試しに

#define WIN_64


してみたらコンパイルがサクッと通った(!)。もうちょっと調べてみたら、これはVisualStudio2005⇒2008の変更点らしく、初期設定のプリプロセッサ"WIN32"を"WIN64"に自動で読み替えてくれないことに問題があったらしい。。
そしてプリプロセッサWIN64を追加したら、define効果があるらしい。ちーとも知らんかった。新しいプロジェクト作るときは、忘れず追加するようにしよっと。


しかしよく考えたらプロジェクト作成時の設定はWin32なわけだから、自動でWIN64が追加されないのは当たり前だな・・・。
参考 : http://oshiete1.goo.ne.jp/qa4766454.html



以上。

HDDドライブアクティブ化の罠

新しいHDDをフォーマットしたりする「コンピュータの管理>ディスクの管理」画面において、ボリュームを右クリックすると


"パーティションをアクティブとしてマーク”


というコンテクストメニューが出てくる。
マウス操作ミスで、windowsがインストールされてる(C:)ドライブで間違えてアクティブにしたのだが、これが大変なことに・・・


なんとその後起動が出来ない!


どうも「アクティブ/非アクティブ」はWindowsのブート元ドライブの選択の話のようなのだが、複数アクティブ化?されたせいか、BIOSのあとWindowsブートに迷ってしまうらしい。しかも調べてみたところ、非アクティブ化は不可能。(コンテクストメニューにも出ないし、そもそも起動できないし)

で、マイクロソフトのヘルプを見たところ、Windowsのインストールディスクから修復ツールを使えば直るかもとあったので、試したところ2回目に復旧・・・!


すごいひやひやしました。
最近Windowsの話ばっかなので、もうそういうカテゴリ作ろうかな

Lhaplus@windows7(x64)

最近windows下でのこまごまとした話ばっかり

ラプラスは64bit環境でコンテクストメニューに圧縮/解凍が表示されない(7に限らず)
以下で解決できるそうです。


http://www.sharkpp.net/soft/tool/lhaplus-x64-shell-extension.html


m(u_u)m