たまりば

  パソコン・インターネット パソコン・インターネット  三鷹市 三鷹市

画像→文字変換
2008年08月20日 23:06

OS自作の話はちょっと一休み。
OS自作[5]で予告したテクニックの紹介です。

ペイントとテキストエディタのみを使って画像からテキストに変換する方法。

「画像からテキストに変換」と書くとなんだかOCRみたいに見えてしまいますね。
そうではなく、
これ
例

こう
--------
--*----*
--***--*
-*-*---*
-*-*-*-*
**-***-*
-**-**-*
-**-**-*
-*****-*
-**-**-*
-*--*--*
-*--*--*
-*-*---*
-*-*---*
-**---**
--------
する
方法についてです。

解説は後にしてまずは手順を見せましょう。

まず画像を用意します。
手順1
右に1ドット余白を作ります。(白背景だと見えない…)
手順1手順2

色を塗り替えます。
手順3
そしてさっき空けておいた余白を別の色で塗ります。
手順4
ここで、塗る色はどれでもいいわけではなく、ペイントのパレットで言うと
使用可能な色
この図で示した6つのどれかである必要があります。ここでは見やすい色を選びました。
次にこの画像を上下反転します。
手順5
そして次が一番の重要ポイント!
この画像を「256色ビットマップ」で保存します。他の形式では駄目です。
256色ビットマップ
できたものがこちら…と言いたい所ですがここではbmpは貼れないのでpngに直してあります。
手順6
色が微妙に変わるのは仕様です。

さてここまで来たらあと1歩。
ここでできたbmpファイルをテキストエディタに放り込みます。
すると、こんな感じの表示になります。
BM・      6  (               タ   ト  ト                €  €   €€ €   € € €€  タタタ タワタ ヲ   @   `   €      タ   ・ @   @   @@  @`  @€  @  @タ  @・ `   `   `@  ``  `€  `  `タ  `・ €   €   €@  €`  €€  €  €タ  €・       @  `  €    タ  ・ タ   タ   タ@  タ`  タ€  タ  タタ  タ・ ・  ・  漾  濮  烙  燿  狢  珥 @   @   @ @ @ ` @ € @  @ タ @ ・@   @   @ @ @ ` @ € @  @ タ @ ・@@  @@  @@@ @@` @@€ @@ @@タ @@・@`  @`  @`@ @`` @`€ @` @`タ @`・@€  @€  @€@ @€` @€€ @€ @€タ @€・@  @  @@ @` @€ @ @タ @・@タ  @タ  @タ@ @タ` @タ€ @タ @タタ @タ・@・ @・ @漾 @濮 @烙 @燿 @狢 @珥 €   €   € @ € ` € € €  € タ € ・€   €   € @ € ` € € €  € タ € ・€@  €@  €@@ €@` €@€ €@ €@タ €@・€`  €`  €`@ €`` €`€ €` €`タ €`・€€  €€  €€@ €€` €€€ €€ €€タ €€・€  €  €@ €` €€ € €タ €・€タ  €タ  €タ@ €タ` €タ€ €タ €タタ €タ・€・ €・ €漾 €濮 €烙 €燿 €狢 €珥 タ   タ   タ @ タ ` タ € タ  タ タ タ ・タ   タ   タ @ タ ` タ € タ  タ タ タ ・タ@  タ@  タ@@ タ@` タ@€ タ@ タ@タ タ@・タ`  タ`  タ`@ タ`` タ`€ タ` タ`タ タ`・タ€  タ€  タ€@ タ€` タ€€ タ€ タ€タ タ€・タ  タ  タ@ タ` タ€ タ タタ タ・タタ  タタ  タタ@ タタ` タタ€ タタ  、 €€€                 ソソソソソソソソク   ソソPソソソソPク   ソソPPPソソPク   ソPソPソソソPク   ソPソPソPソPク   PPソPPPソPク   ソPPソPPソPク   ソPPソPPソPク   ソPPPPPソPク   ソPPソPPソPク   ソPソソPソソPク   ソPソソPソソPク   ソPソPソソソPク   ソPソPソソソPク   ソPPソソソPPク   ソソソソソソソソク   

前半の意味不明な部分ははいらないのでカットします。
ソソソソソソソソク   ソソPソソソソPク   ソソPPPソソPク   ソPソPソソソPク   ソPソPソPソPク   PPソPPPソPク   ソPPソPPソPク   ソPPソPPソPク   ソPPPPPソPク   ソPPソPPソPク   ソPソソPソソPク   ソPソソPソソPク   ソPソPソソソPク   ソPソPソソソPク   ソPPソソソPPク   ソソソソソソソソク  
ここまで来るとだんだん見えてきましたね。
画像の1ピクセルが1文字に対応して、色ごとに字が違っています。
(ただし画像の横幅が4の倍数でない場合、切りがよくなるように空きができます。
この場合、画像の1行ごとに3つスペースが入っています。)

これを最初に右端に入れておいた色を基準に行を切り分けます。
ソソソソソソソソ
ソソPソソソソP
ソソPPPソソP
ソPソPソソソP
ソPソPソPソP
PPソPPPソP
ソPPソPPソP
ソPPソPPソP
ソPPPPPソP
ソPPソPPソP
ソPソソPソソP
ソPソソPソソP
ソPソPソソソP
ソPソPソソソP
ソPPソソソPP
ソソソソソソソソ
この作業はちょっとしたテキストエディタなら置換機能で「ク   」→「\n」とすることでできます。参考までに自分が愛用しているのは「EmEditor」というソフトです。
(ただし残念ながらメモ帳では置換候補に「改行」を入れることができないので使えません。
これが使えれば「ペイントとメモ帳で」となってインパクトがあったのに…。
どうしてもメモ帳が使いたい人は手動で改行を入れましょう。)

最後にこれをお好みの文字に置換して出来上がりです。
--------
--*----*
--***--*
-*-*---*
-*-*-*-*
**-***-*
-**-**-*
-**-**-*
-*****-*
-**-**-*
-*--*--*
-*--*--*
-*-*---*
-*-*---*
-**---**
--------


とまあこうやって画像をテキストに変換することができたわけですが、どうしてこうなるのか分からないと思います。
途中bmpファイルをテキストエディタに読み込ませるという非常識なこともしています。
というわけでこの辺の解説をしたいと思います。

思います…が、今日は疲れたのでまた今度。


  • Post time : 2008年08月20日 23:06│Comments(0)
    URL欄を実験的に消してる間に廃止されてしまいました。まあいいか。
     
    <ご注意>
    書き込まれた内容は公開され、ブログの持ち主だけが削除できます。
    削除
    画像→文字変換
      コメント(0)