科学勝利 #2 (画像編集+OCR編)
2015年5月3日 / 未分類
スクショ撮って素材を用意しました。
OCRで読み取りやすいよう、それら素材にImageMagickで諸々の処理を加えます。
ぶっちゃけImageMagickよく分かってないからもっと詳しい人に聞くといいよ!!!
■ImageMagick
大雑把な流れとしては、
ImageMagickをインストール→batファイルを作成→実行 となります。
なんとかなります。
コマンドプロンプトとかbatとか何のこっちゃ状態でもなんとかなります。
この記事書いてる段階で間違って「コマンドプロトコル」って書いてた僕が保証します。
なんとかなりますが、先述の通り、僕自身よく分かってないので、
何か致命的におかしいことになったら戻れるよう、復元ポイントは取っておくと安心かと思います。まじで。
[導入]
http://comicmall.jp/wiki.cgi?page=ImageMagick
こちらのサイトを参考にしました。
ImageMagickの公式サイトからインストーラーをDLして実行してインストールします。
WindowsなのでWindows Binary Releaseから、多分それの一番上が表示的に最新版ってことでしょう、
という推測と憶測と希望的観測のもとImageMagick-6.9.1-2-Q16-x64-dll.exeをDL。
てきとうに実行してインストール。
この際、「どのフォルダにImageMagickがインストールされたか」をメモしておくと良いです。
後にbatファイル作成で使います。
[batファイル作成]
Imagemagickのインストールが完了しました。…し、したんです!多分!
batファイルを作ります。batって何ですかそれ蝙蝠ですか状態でもなんとかなるよ。
メモ帳に呪文を書いて拡張子をbatにして保存、実行すると画像が自動的に編集されるのです。魔法だね!
メモ帳を開き、友人が紡いでくれた呪文をコピペします。
————————————————(以下呪文)————————————————
rem このバッチが存在するフォルダをカレントに
pushd %0\..
cls
set composite=”(インストールした場所)\composite.exe”
set mogrify=”(インストールした場所)\mogrify.exe”
set convert=”(インストールした場所)\convert.exe”
rem diffをとる
for /F “usebackq” %%i in (`dir /s /b *.png`) do %composite% -compose difference 00.png %%i %%~ni-diff.png
rem 00-diff.pngはまっさらなので削除
for /F “usebackq” %%i in (`dir /s /b 00-diff.png`) do del %%i
rem 白黒反転、白を透過する
for /F “usebackq” %%i in (`dir /s /b *-diff.png`) do %mogrify% -negate %%i
for /F “usebackq” %%i in (`dir /s /b *-diff.png`) do %mogrify% -transparent white %%i
rem pngを1枚につなげる
%convert% -background black -append *-diff.png full.png
pause
rem 仮出力ファイルを削除する
for /F “usebackq” %%i in (`dir /s /b *-diff.png`) do del %%i
pause
exit
————————————————(以上呪文)————————————————
remはメモを記述するための呪文らしいよ。このメモ無かったら何やってるんだか僕にはさっぱどだね。
5~7行目、(インストールした場所)とありますが、ここだけ書き換えが必要です。
ImageMagickをインストールしたフォルダを記述します。さっき「メモしておくと良いです」つったのはここね。
例えば5行目、僕の場合は
set composite=”C:\Program Files\ImageMagick-6.9.1-Q16\composite.exe”
となりました。
魔道書が出来ました。これをbatファイルとして保存します。
名前はなんでもいいですが、拡張子をbatにします。
「hogehoge.bat」って名前で保存すればbatファイルになります。
hogehogeでもnya-nya-でもnecronomiconでもええんやで。
保存先は、素材たるスクショ群が入っているフォルダで。
フォルダ内には、「00.png(文字無し画像)」「01~.png(文字入り画像)」「**.bat」が入ってる状態ね。
[bat実行]
bat形式で保存すると、アイコンが歯車になります。多分。Windows7ではそうなりました。
これをダブルクリックで実行します。
黒い画面というかコマンドプロンプトが起動して勝手に進みます。ので、放置します。
何が起こってるかというと。
「00.pngとその他.pngとの差分(diff)を取り(=減算処理)、[ページ番号-diff.png]で出力」
「00.pngと00.pngの差分は無い=ただの真っ黒画像が出来る ので00-diff.pngを削除」
「[ページ番号-diff.png]について白黒反転、白を透過して上書き」
「[ページ番号-diff.png]を垂直結合、[full.png]で出力」
が行われているようです。多分。メモ書き的に。
ここまで実行したところで、pauseが入るので一旦処理が止まり、
「続行するには何かキーを押してください...」と表示されます。
この時点でフォルダには、素材となった00.pngと01~.pngに加え、
諸々の処理を施されて文字のみとなった各ページの画像(01~-diff.png)と、
それら文字のみ画像を垂直結合して作られたfull.pngがあります。
最終的にOCRに突っ込むのはfull.pngのみなので、
文字のみ画像(01~-diff.png)は基本的に不要です。
もしそれらが必要ならここでコマンドプロンプトを、右上の×でも押して終了させればよし。
終了させずに何らかのキーを押すと処理が進み、それら仮出力ファイルは削除されます。
何かのキーはなんでもいいみたいです。僕はとりあえずEnter押したけど。
再度「続行するには~」が表示されますが、
ここでもう一度何か押せばコマンドプロンプトが慎ましく終了します。
■Google Drive
1.google driveへ移動
2.画面右の歯車アイコンから[設定]ウィンドウを開く
3.「アップロードしたファイルをGoogleドキュメントエディタ形式に変換します」にチェック、[完了]で閉じる
4.画面左の赤い[新規]から[ファイルをアップロード]。
ImageMagickでなんとかされたfull.pngをアップロードします。
5.アップロードされたファイル名の上で右クリック、[アプリで開く→Googleドキュメント]。
Google docsが新窓で開かれるので、移動すると画像の下にテキスト変換されたものが出てる。
#0で書いた通り、精度は微妙です。
まぁさっと読み返してちまちま誤字脱字の修正しておけば、
新キャラ実装時に既出だったか検索かけるくらいの用途には使えるんじゃないでしょうか。
念のため:batファイルを置いて実行するフォルダの名前にはスペースを含まないこと。なんかエラー吐いて止まるので頭抱えることになります。という体験談を添えておきますね。