1. ダウンロード

    まず,コンパイルをする方法を説明します.プログラムおよび関連するファイルをここに置いてあるので,各自ダウンロードした後に展開してください.このファイルの中にはcygwin用makeでビルドするためのMakefileと,Visual Studioでビルドするためのプロジェクトファイルが含まれています.
  2. makeによるビルド

    Cドライブの直下にDigitRecognition展開したものとして説明します.まず,Cygwin Bash Shellを開き,下記のディレクトリへ移動します.
    /cygdrive/c/DigitRecognition/Program 

    次に,makeコマンドにより,プログラムをビルドします.正しくコンパイルができると,「DigitRecognition.exe」および「MakeDictionary.exe」が得られます.

  3. Visual Studioによるビルド

    Visual Studioの場合,まずは解凍したファイルの中にあるProgramフォルダへ移動します.図1はその様子を表しています.Programフォルダの中には「DigitRecognition」と「MakeDictionary」があると思います.同じような2つのファイルがありますが,そのうち種類がMicrosoft Visual Studio Solutionの方をダブルクリックします.このページではDigitRecognitionをビルドする方法について説明します.同じ要領でMakeDictionaryもビルドしてください.
    image03
    図1: Visual Studioのためのプロジェクトファイル

    DigitRecognitionをダブルクリックすると,図2のようにVisual Studioが立ち上がるはずです.メニュー「ビルド」の中にある「ソリューションのビルド」を選択します.
    image04
    図2: Visual Studioが立ち上がり,ビルドするところ

    ここで,Visual Studioのバージョンの違いによるエラーが発生することがあります.その場合には図3のように,ソリューションエクスプローラーにあるDigitRecognitionを選択したのち,メニュー「ビルド」の中にある「プロパティ」を選択してください.
    image05
    図3: プロパティの変更
    この後,図4のようなダイアログが現れますので,ターゲットプラットフォームバージョンと,プラットフォームツールセットを適切に変更してください.
    image06
    図4: ターゲットプラットフォームバージョンと,プラットフォームツールセットの変更
  4. 辞書の作成 : MakeDictionary.exe

    数字の認識をするために,特徴量の辞書を作成する必要があります.この辞書を作成するアプリケーションが「MakeDictionary.exe」です.これを実行すると,自動的に特徴量の辞書(正確にはメッシュ特徴量の辞書)が作成されます.CygwinであればCygwinのターミナルで,Visual Studioであればコマンドプロンプトを開いて実行してください.

  5. 数字パターンの認識 : DigitRecognition.exe

    数字パターンを認識するには,「DigitiRecognition.exe」を実行します.図5のような数字パターンを認識させた結果を図6に示します.図2において,いくつかの「distance」が表示されていますが,これらは上から順に数字パターン「0」「1」「2」…「9」の特徴量の辞書と,図5のパターンの特徴量と比較した時の距離を表わしています.つまり,距離がより小さいものが,図1に似ていますが,今回は「4」の特徴量との距離が1449と最も近かったため,結果が「4」と表示しています.

     
    図5:認識する数字パターン

     
     図6:認識結果