javax.media.openglを使いたい
javaでopenglを使ったプログラムをコンパイルしたところ、
javax.media.openglが見つからない、というエラーがありました。
※ちなみに、openGLの導入はこちらのサイトを参考にしました。
JOGL,JOCLのEclipse環境を整える - プログラムdeタマゴ
調べてみたら、こちらのサイト(java - Where can I find the package javax.media.opengl? - Stack Overflow)に
JOGLはversion2.3.1以降、パッケージ名を変えていて、
javax,media.openglではなくて、com.jogmap.openglになった
と書かれていました。
cv::matchTemplateの計算方法について
opencvのテンプレートマッチング [matchTemplate] を使っていて、
そういえば手法について詳しく知らないなと思ったので調べてみました。
手法には、以下の6つがあります。
- CV_TM_SQDIFF
- CV_TM_SQDIFF_NORMED
- CV_TM_CCORR
- CV_TM_CCORR_NORMED
- CV_TM_CCOEFF
- CV_TM_CCOEFF_NORMED
計算式は、opencvリファレンスに掲載されています。
計算式の意味は、こちらを参考にすればわかるかと思います。
CV_TM_SQDIFFは、輝度値の差の2乗の合計を求めます。
なので、値が小さいほど類似しているということになります。
CV_TM_CCORRは、輝度値の相関を求めています。
なので、値が大きいほど類似しているということになります。
CV_TM_CCOEFFは、輝度値の平均を引いてから相関を求めています。
これにより、テンプレート画像と探索画像の明るさに左右されにくくなります。
相関を求めているので、こちらも値が大きいほど類似しているということになります。
Xcode5.0.2でopencvが動かない
先日ノートパソコンを新しくしたので、
xcode5.0.2をインストールし、opencv2.4.7を導入しました。
以前のPCで使用していたxcodeファイルをそのまま実行してみたところ、
以下のようなエラーが…。
Undefined symbols for architecture x86_64:
"cv::namedWindow(std::string const&, int)", referenced from:
_main in main.o
"cv::imshow(std::string const&, cv::_InputArray const&)", referenced from:
_main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
以前のPCでは libstdc++で動いていたのですが、
その部分をlibc++に変更したところ、コンパイルできました。
Windows7でログインできない
以前からちょっと調子の悪かったwindows7がついにログインできなくなりました。
パスワードを入力してエンターを押すと
"user profile service サービスによるログオンの処理に失敗しました"というメッセージが出て、ログオフし始めます。
ネット調べたらいくつか方法が載っていました。
一番簡単そうなのが、アカウントを新しく作ってこれまでのデータを以降する方法。
管理者アカウントが他になければ、セーフモード でログインして、新しいアカウントを作ります。
windows起動時に(windowsのロゴが表示される前に) F8キーを連打すると、
黒画面に白文字で「セーフモードとコマンドプロンプト」という選択肢があるので、ハイライトを当ててエンター。
管理者アカウントでログインします。
コマンド画面が表示されたら、
net user <作成するユーザ名> /add
net localgroup Administrators <作成したユーザ名> /add
と入力し、「正常に作動しました」というコメントが表示されたら再起動をします。
すると、新しい管理者アカウントができているので、そちらでログインをします。
あとは、こちらの通りにユーザプロファイルの修復を行います。
http://windows.microsoft.com/ja-jp/windows/fix-corrupted-user-profile#1TC=windows-7