沼津高専 電子制御工学科
MIRSMG3D 数字認識プログラム(2数字版)
MIRSMG3D-IMGP-0104
改訂記録
版数 作成日 作成者 承認 改訂内容
A01 2012.1.25 牛丸 牛丸 初版
A02 2012.12.24 牛丸 牛丸 num_detect2.c のソースを改訂


目次






1.概要

一つのボード上の横に並んだ2つの数字を認識するためのプログラムについて、その処理手順、使用法等を示す。

2.処理手順

  1. 取り込んだ画像を保存する。(ファイル名 input.jpg)
  2. 保存した画像を読み込み、真ん中で左右に分割し、ファイルに保存する。(左側:dev1.jpg、右側:dev2.jpg)
  3. 分割画像をそれぞれ読み込み、MIRSMG3D-IMGP-0101 に記載されているのと同様な処理アルゴリズムで、左右の数字を認識する。
  4. 左右独立に3回連続して同じ数字認識を出来るまで、1〜3の処理を繰り返す。

3.関数仕様

    int num_detect2(int max_roop);

  1. 戻り値  0:正常終了、-1:数字認識失敗
  2. 引数   最大繰り返し数

4.数字の取得

  1. int get_number(char) を使用して認識した数字を取得する。
  2. 引数には、'l'(左)または'r'(右)を指定する。
  3. この関数を使用するためには、そのファイル内で extern 宣言(extern int get_number(char) するか、 それを宣言したヘッダファイルをインクルードする。。

5.利用方法

  1. num_detect2.c を、img ディレクトリに置く。
  2. Makefile で、num_detect となっているところを、num_detect2 に変更し、make し直す。

6.既知の問題点

取得した画像を中央で単純に2分割しているだけなので、ボードが画像の中心からずれて、 2分割した際に片方の数字の一部が欠けてしまうと、その数字が認識できない可能性が高い。

関連文書