プログラム投稿雑誌をOCRで読む

ベーマガの投稿プログラムをパソコンに取り込んで、さらにOCRでコード化してみました。
まず、紙面をスキャンします。300dpiくらいでスキャンしましたが、できれば解像度はもっとあったほうがいいかも。


OCRは「Softi Free OCR Software」というフリーソフトを使いました。
.NET 2.0を使ってるらしく、重いです。自分の場合、.NETを消してあったので、インストールに時間がかかりました。

↑写真のように画像が傾いてる状態だと読み取れません。
なので、傾きはフォトレタッチソフトで修正しておきます。ついでにレベル補正もかけておきました。


枠を指定してから、OCRボタンを押すと全自動でコード化していきます。

前半だけ抜粋すると、こんな感じです。

1 /* ―---―-―-―-----――― ―――< SHEEP DOG for x68k > ---―-----------
10 screen 0,1,1,1:c0l0r 7:m0use(0):m0use(4):apage(1)
30 int ><.y.t.f,z,h,i.J.k,m,n,c
40 dim int e(9),w(9),e1(9),w1(9)
50 dim str v(3)[64]
60 music():sp():pal()
90 symb0l(40,30[`9 -7 F y 7",1,4,2,15,0)
100 symb0l(25,140,"push mouse b0tt0n"1,1,2,5,0)
101 apage(0):fill(0,0,255,46,3):fill(0,48,255,255,8):fi1l(0,48,64,255,12)
102 for i=0 to 4:j:i*2:line(56+j,40+j,56+j,255+j,15)
103 line(55,i*50+44,65,i*50+54,15)Znext
105 /* ―――――-― ― ――-------―-――---―-――----―――――-―-――-―――&#183;&#183;-―-―-――-―-――――--- title
110 while -1
111 vpage(2):sp_0ff(0,127):sp_disp(1):c1s:m_play(5)
130 x=100:h=1:g=0
140 repeat:if abs(120―x)>80 then h=sgn(120―x)
150 t=abs(t-1):x=x+h*rnd()*10:sp_set(0,x,190,&H2101+&H2000*h+t,3)
160 until msbtn(1,0,50)>1
170 vpage(1)
171 /* ~―――-―--――-―--―― - ―-―-―--- - ―――― - ―-――――――--―-―-――--―------―-― - -―--―- set up
172 while -1
180 m_st0p()

、、、「:」が「Z」だったり、オーとゼロが入れ替わってたり、、、豪快にミスしてたりしますが、たまにアッと驚くほど正解な時もあります。

全部の行を目でチェックしないといけませんが。
あと、日本語もダメですね。
手で全部打ち込む苦労を思えば、ありがたいなと思います。

あと、
「button」が「botton」になってますけど、これはタイプミスしたまま投稿しちゃったもので、OCRのミスではありません。