マイコン工作実験日記

Microcontroller を用いての工作、実験記録

OV7670を使ったナンバー認識

2012-02-10 13:51:59 | CMOSカメラ
本日発売のトランジスタ技術3月号に記事を書かせていただきました。主なネタとしては2点ありまして、ひとつは本ブログでも紹介した、OV7670を使ったバーコード・リーダです。OlimexのSAM3-H256とCMOSカメラ、LCDの3点を直結しただけの簡単ハードウェアなので、極端なはなし回路図なんかなくてもいいくらいですが、もちろん紙面には回路図載っています。こちらは、MTM07でもデモしましたが、それから少しソフトを改善してあります。USB電源で動かしていますが、「読み取り結果はPC側には送信されないのか?」というツッコミを頂戴したので、その機能も用意しました。(MTM07の時も結果表示は可能だったのですが、デバッグメッセージも一杯出していました。)

そしてもう一点は、車のナンバーの数字を読み取るナンバー認識です。こちらもバーコード・リーダと同一のハードウェアを使っており、ソフトを書き換えるだけです。初歩的な画像処理を施して数字認識を試みました。



実際にやっていることはとっても簡単な画像処理だけです。連続した画素から構成される部分領域を切り出して、それを数字の辞書ビットマップと単純に比較しているだけです。そのため、正面から撮った傾きの無い画像でないと正しく認識できません。近頃は、学部学生の実験でも、この程度の画像処理の課題があるようです。上の動画もMTM07の頃に作成したものなので、その後 処理時間を短縮したり、Setup機能を追加して解像度選択もできるようになっています。詳しく知りたい方は、トラ技を参照願います。こちらもUSB電源で動作させていますが、PCからは電源をもらっているだけであり、全ての画像処理はマイコン単体でおこなっています。当初、CrossWorksを使ってソフト作りましたが、マイナーなツールはダメだということで、Keilに書き換えました。同時に、コードを整理してデバックや試験用のコードを削ったところ、32KBから35KBくらい使っていたフラッシュ容量が26.54KBに減ってしまいました。Keilの期限無し評価版は32KBまで使えるので、まだ機能追加/性能改善可能です。

個人的にはSAM3Sを普及させるべく、もう少しSAM3Sの特徴的機能について説明したかったのですが、ページ数の関係もありそれはかないませんでした。同じようにカメラ直結できるSTM32 144pin の方が受けはいいんだろうなぁ。

トランジスタ技術 (Transistor Gijutsu) 2012年 03月号 [雑誌]
CQ出版
CQ出版