結城あすかの毎日電波思考 (あすか日記)

アクセスカウンタ

zoom RSS 画像認証と遊ぼう! 第2回「邪魔者の始末編」

<<   作成日時 : 2013/04/25 14:51   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

 今回から実践編にょ。

 この連載で用いている画像処理の技術検証用ツールはメインサイトの方に置いてあるので、自分でも試してみたいという人はこちらからダウンロードしてくれにょ。
 ただし、使用説明とかは無いから、この連載記事がその代わりだと考えるにょ。もっとも、ここでは使わない機能とかもいっぱいあるとは思うけどにょ。

 今回の画像を読み込んで見るにょ。

画像

 これは、とある大手プロバイダの運営するブログサイトで使われてる画像認証の画像だにょ。
 ま、これをこのまま前回と同じPanasonic製OCRソフト「読取革命Lite」に読み込ませてみるにょ。人目にはどう読んだらこういう結果になるのだろうかというところだけど、そこが画像認証の存在意義なのだから仕方がないにょ。

画像


 まず最初に前回やった「二値化処理(分析判別法)」を行なっておくにょ。

画像

 ま、今回は二値化しただけでちゃんとOCRで読めたりなんかはしないにょ。

画像


 ここで目立つのは画像に付いてる外枠なので、これを取っ払ってみるにょ。こんなものはペイントなりその他の画像編集ソフトでも構わないけど、いちいちソフト間でデータのやり取りとかするのも面倒なので、ここではこのツールに付いてる「画像の切り出し」機能を使うにょ。
 これは表示されてる画像から一部を切り出す機能にょ。

画像

 処理選択で「画像の切り出し」を選んだらパラメータを設定するにょ。デフォルトでは表示画像をそのまま切り出すような値が設定されてるにょ。

画像

 ここでは除去する外枠は幅1ドットなので、これ以外の領域を切り出すように領域の始点(左端と上端)とサイズ(横幅と高さ)を指定するにょ。また、処理の前後で画像のサイズや文字の表示位置が変わらないように、枠の部分を余白に置き換えるように、左右及び上下の余白を1ドットずつ入れておくにょ。

 実行すれば外枠が取れてこんな感じになるにょ。

画像

 これをOCRに読み込ませてみても、まだダメだにょ。

画像


 こうなると問題なのは文字の周囲に散らばってるゴミのような小さな点々だにょ。こういう細かいものを除去する方法はいくつかあるけど、文字の大きさが十分に大きいので、「収縮処理」で除去することにするにょ。

画像

 パラメータは2つ設定するにょ。

画像

 処理ステップ数は処理を何回繰り返すかの値。点々は小さいのでそんなに収縮を繰り返す必要はないから、ここは1回で十分にょ。周辺画素数の閾値というのは、画像上のある黒い画素(ドット)に対して、その周囲8画素のうちの何個が白なら白に変えるかという値にょ。値が小さいほど画像は急激にやせ細るにょ。

 実行すればこんな感じで点々が消えるにょ。

画像


 これで十分な感じもするけど、文字によっては収縮によってバランスが変化してしまうことがあるので、今度は「膨張処理」によって元に戻すにょ。

画像

 パラメータは同様にょ。実のところ「収縮処理」と「膨張処理」は黒の画素を白に変える処理か、逆に白の画素を黒に変える処理かの違いにすぎないにょ。

画像

 実行すればこんな感じにょ。

画像


 もっとも、収縮した画像を膨張させても完全に元に戻るわけじゃなく、文字の幅やバランスが戻る程度という感じにょ。
 そこで、もう少し元の画像に近付けるために、「収縮処理」を行う前の画像と画素ごとの論理積をとって、「膨張処理」で太りすぎた部分を排除しておくにょ。

画像

 パラメータとしては「収縮処理」の前の画像ファイル(もちろん、事前に保存しておくことが必要)と、論理処理の開始位置、論理処理の対象色にょ。今は元の画像も論理積を掛ける画像も同じ大きさで、文字の位置も同じなので、始点は(0, 0)のままでいいにょ。処理対象である文字は黒なので、対象色は黒だにょ。

画像

 結果はこんな感じにょ。「収縮処理」で痩せすぎた部分までは戻らないけど、大体は元の雰囲気に戻ってるかにょ。

画像

 これをOCRで読み込んでみるとこんな感じにょ。

画像

 「9」だけ全角だったりはするけど、ちゃんと文字が認識されるようになってるにょ。

 今回はここまでにょ。
 これくらいまでなら一般的な定番の画像処理技術で何とかなったりはしてるのだけど、もっと頭を使わないとなんともならない画像認証は多いにょ。そんなものもボチボチと扱っていく予定にょ。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
TweetsWind
画像認証と遊ぼう! 第2回「邪魔者の始末編」 結城あすかの毎日電波思考 (あすか日記)/BIGLOBEウェブリブログ
文字サイズ:       閉じる