ごはんと飲み物は紙一重

最近はこっちよりも https://intel0tw5727.hatenablog.com のほうで日記を更新することが多いです。

etlcdb(ETL文字データベース)のETL9Bから画像を抽出するスクリプトを書いた

ETL文字データベースとは

「ETL文字データベース」は手書きまたは印刷の英数字、記号、ひらがな、カタカナ、教育漢字、JIS第1水準漢字など、 約120万の文字画像データを収集しています。1973年から1984年にかけて電子技術総合研究所(現 独立行政法人産業技術総合研究所)において、 日本電子工業振興協会 (現 電子情報技術産業協会)・ 大学・民間の研究機関の協力のもとに文字認識研究用に収集され、ETL-1からETL-9の9種類のデータにまとめられています。研究用途に限り、無料で使用することができます。本データベースは磁気テープやCD-Rの郵送によって提供されていましたが2011年4月以降インターネット経由でダウンロードすることが可能になりました。(原文ママ)

http://etlcdb.db.aist.go.jp/?lang=ja

サンプルコードをベースに書いてみた

上記のデータセットからデータを抽出するスクリプトはまだなかったので、この際作って公開することにしました。後に必要とする方の助けになりますように。公式ホームページでは一応サンプルコードが書いてあるので変換などに助けられるのですが、結局全部抽出するためそのままでは役に立たないという感じです。「Python 2.7.5 に対応」と書いてあるんですが、「君はまだPython2系なのかい?」と煽りたくなるバージョン・・・

ということで、ソースはこちらになります。

やってることは

  • ディレクトリ内のETL9Bの分割ファイルの読み出し
  • ファイルを読み出して画像を抽出保存

の2つです。dir_name は各位の保存する場所に適宜変更していただけると良いかと思われます。ちなみに実行環境はPython3.5.2なので一応3系対応してます。最新の3.6, 3.7でも動くと思ってます。9Gについては特にやってません。もし誰かスクリプトを書いたら公開してくれたらブクマしますね。

勢いで書いてしまってるため、速度が担保できてないのでここをこうするともっと早くなると分かる人はぜひぜひコメントください。多分これ並列処理も可能なのでもう少し早くなるのではと思っています。