2014年2月27日木曜日

C# Window枠の固定

FormBorderStyle を「Sizable」でないものに変更すれば良い。

2014年2月23日日曜日

OpenCVのHSVのrangeに気を付けよう

OpenCVのHSV rangeは以下の通り、一般的な値と違うので気を付けよう。

H: 0 - 180, S: 0 - 255, V: 0 - 255


2014年2月21日金曜日

OpenCV Win32 のメモリ制限を解除する

OpenCV の Win32 API は、メモリ制限がかかってる。

64bit OS で動作させる場合は、もっとたくさんめもりを使って、早く処理を終わらせたい。

OpenCVの以下を編集してビルドさせれば、制限を解除できます。

編集するファイル

coreに含まれる、internal.hpp を以下のように編集する。

//#define  CV_MAX_ALLOC_SIZE    (((size_t)1 << (sizeof(size_t)*8-2)))
#define CV_MAX_ALLOC_SIZE ULLONG_MAX

OpenCVをビルドしなおせばOK。



2014年2月15日土曜日

Eclipse CDT Cygwin

EclipseでC++コンパイル&ビルド環境をつくる。

VC++ならvisual studioでいいけど、JavaでEclipse使っているのでどうせなら一つで、ということで方法。

最も整理されていたサイトは以下。

http://www3.ntu.edu.sg/home/ehchua/programming/howto/EclipseCpp_HowTo.html


たぶん、CygwinやEclipse CDTを入れる順番によって、必要のあることが変わってくんだと思う。

ADTの環境にCDT、そのあと、Cygwinを入れたので、割と面倒だったのかもしれない。


Cygwinをインストール

以下からCygwinのbinを持ってきてインストール。


  • インストールディレクトリ C\:cygwin64
  • パッケージディレクトリ C\:cygwin64\package


http://cygwin.com/install.html

インストールするパッケージを選択するとき、Develの"gcc"と"libmpfr4"を選択する。


インストールが完了したら、EclipseのCDTにCygwinの設定を行う。


メインメニューの設定

Window > Preference > C/C++ > Debug > Source Lookup Path > Path Mappings

以下を設定。

Name: cygdrive
Compilation path: /cygdrive/c
Local file system path: C:\


プロジェクトの設定

C/C++ Builder > Tool Chain Editor


Cygwin GCC、Gnu Make Builder を選択。


C/C++ General > Path and Symbols

以下を追加。

<language name="C Source File">
<includepath>C:\cygwin64\usr\include</includepath>
<includepath>C:\cygwin64\usr\include\w32api</includepath>
<includepath>C:\cygwin64\lib\gcc\i686-pc-cygwin\4.8.2\include</includepath>
<includepath>C:\cygwin64\lib\gcc\i686-pc-cygwin\4.8.2\include-fixed</includepath>

<language name="C++ Source File">
<includepath>C:\cygwin64\usr\include\w32api</includepath>
<includepath>C:\cygwin64\usr\include</includepath>
<includepath>C:\cygwin64\lib\gcc\i686-pc-cygwin\4.8.2\include</includepath>
<includepath>C:\cygwin64\lib\gcc\i686-pc-cygwin\4.8.2\include-fixed</includepath>
<includepath>C:\cygwin64\lib\gcc\i686-pc-cygwin\4.8.2\include\c++</includepath>
<includepath>C:\cygwin64\lib\gcc\i686-pc-cygwin\4.8.2\include\c++\i686-pc-cygwin</includepath>
<includepath>C:\cygwin64\lib\gcc\i686-pc-cygwin\4.8.2\include\c++\backward</includepath>

コンパイル

プロジェクトのビルドをすると、コンパイルが出来る。


実行形式ファイルの作成

プロジェクトのプロパティ > Make Targets

から、好きな名前でターゲットを作成する。


以下でビルド可能。

Make Targets > Build



2014年2月1日土曜日

肌色の検出閾値

肌色の閾値を設定する時に参考になる文献。

http://www.shojiro-tanaka.net/gradOutputs/2004/kawashima.pdf



HueとCb、Crを使って以下の閾値を採用。


(H < 50 || H > 210) && (-50 < Cb && Cb < -10) && (10 < Cr && Cr < 40)