分12ここしばらく急いで紹介した方がいい話題が続いたためずいぶん間が空いてしまったものの,今回は去年の夏ごろ取りあげた古文書をディジタル化するという話題の「その2」をお送りします。この話題を取りあげた背景や「お講」については「その1」の回を見ていただくこととして,今回は古文書を読みやすくするために,スキャナで取り込んだ画像データをどのように加工したかを中心に紹介します。「その1」で紹介したように,手元に伝わっている「お講」文書は半紙大の紙を長尺にそって2つ折りにして綴じ,横向きに使って表裏に縦書きで書き込まれています。スキャンは表裏それぞれに行ったものの,まとめて見れた方が便利だろうと表裏を合わせて1枚の画像ファイルにしています。細部まで見れるようにスキャン時の解像度は300dpiにしたので,合成した画像ファイルはおよそ4100×3100ピクセル,フルカラーのPNG形式で保存すると,1枚の画像ファイルが20MB弱程度です。「その次は『免○四?』...」とやってたものの,縦書きでフリーフォマットに書かれている上,読める所の方が少ない文書なので,このままだとテキストファイルに書き起こすことは難しそうです。そのため,読み取れる部分をいったん紙に清書してみることにしました。紙に清書するなら画像ファイルも印刷しておくと直接比較できて便利でしょう。考えて画像ファイルを印刷してみたものの,スキャンしたままのフルカラーの画像では変色した紙の色が邪魔になる上,インクもバカになりません。そのため,印刷用にはフルカラーの画像ファイルを白黒の2階調に変換してみることにしました。変換するのが数枚程度ならgimp等の画像編集ソフトを使うのが簡単でしょうが,数十枚規模になると一々手作業でやるのは大変です。そこでnetpbmを使って一括処理することにしました。netpbmはこの連載でも取りあげたことがある汎用的な画像変換ツールで,単機能なコマンドをパイプで組み合わせて複雑な作業を実現する,いわゆる「UNIX哲学」に基づいて設計されています。フルカラーのPNGファイルを白黒にする場合,pngtopnmでいったんPNM形式にしてからpnmtopgmでグレースケールに変換すればよさそうです。出力結果は元と同じPNG形式にすることにすれば,こんなコマンドラインで変換できます。gray.pngこうして変換した結果を見ると,確かに白黒にはなったものの,全体的にくすんだ感じで文字があまり明瞭ではありません。全体を明るく,コントラストを強調したいところです。netpbmには画像の明るさを変えるためのppmbrighten,コントラストを調整するppmnorm,グレースケールを白黒2値のデータにするpamditherbwやpamthresholdなど,さまざまなコマンドが用意されています。これらのコマンドをどう組み合わせるのがいいか,いくつか試してみたところ,いったんグレースケールに変換してからpamthresholdで白黒2値の形式にするのが一番よさそうだったので,以下のようなコマンドラインで画像を白黒にしてから印刷することにしました。gray.png変換した結果を1枚の画像にまとめるとこんな感じになります。白黒2値の画像では元画像にあった資料の質感は無くなっているものの,印刷するにはこれぐらいメリハリがあるほうがよさそうです。元のカラー画像とグレースケール化,白黒2値化した各画像これから先はアナログな作業で,『⁠くずし字解読辞典』などを参考にそれぞれの文字を読み解き,読めない文字は○にして紙に拾っていきます。この文書の場合,伊勢講のための年貢米を誰がどれだけ負担したかの記録のようで,「⁠何升何合」といった数字の部分はなんとか読めるものの,その下にある人名らしい部分ほとんど読めませんでした。「⁠お講文書」を書き起こした例ある程度内容を持った文書なら前後の文脈から読めない文字を推測することも可能なものの,今回扱っている文書はまとまった意味を持たないメモ書き程度の内容なので,人名のような固有名詞を読み解くのは難しそうです。Linuxとりまとめ役。人類学的にハッカー文化を研究しようとしていたものの,いつの間にかミイラ取りがミイラになってOSSの世界にどっぷりと漬かってしまいました。最近は田舎に隠棲して半農半自営な生活をしながらソフトウェアと戯れています。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。