2013

ScanSnapの白黒2値読み取りについて

文字主体の本はできれば白黒2値,それが読みにくいなら16階調グレースケールにすることを念頭において,白黒2値化について実験中なのだが,とりあえず,ScanSnap IX500 の白黒2値読み取りについてのメモ。

300dpi カラー読み取りの画像を,赤チャンネル抽出によるグレースケール化,レベル補正,白黒2値化したものと比較すると,直接ScanSnapから300dpi 白黒でスキャンした画像の方が,品質が高そうに思える。

これが,300dpi カラーで読み取ったままの画像。

300dpiカラー圧縮度1

全体的に紙焼けがあるものの,文字は読みやすく,ファイルサイズを気にしなければ,実用上は問題ない。これを1つ前の日記に書いたように,画像梱包,Ralpha, XnView を用いて白黒2値にしたものが,次の画像。

300dpiカラー圧縮度1から白黒2値に変換

紙焼けも除去されていて,まずまずだと思う。ところが,ScanSnapから直接300dpi 白黒で読み込んだ次の画像と較べてみると,明らかに後者の方が品質がよさそうなのである。

300dpi白黒

紙の左端の方に紙焼けの影響が残ってはいるが,それ以外は手動で白黒化したものよりも綺麗というのが,納得の行かないところ。そんなに素晴らしいアルゴリズムなのか?

ところが,画像のサイズを見ると,この白黒画像は縦横ともに300dpiカラーの2倍あるのだ!これはどういうことだろうか。想像だが,300dpiで読み取ったものを2倍に拡大して,それから白黒2値化しているのではないだろうか。そう言えば,スーパーファインについては 300dpi (白黒は600dpi相当) と不思議な事が書いてあった。600dpi相当というのは,そういうことなのかもしれない。

そこで,実験。300dpiカラーで読み取った画像に対して,2倍に拡大(アルゴリズムはLanczos)した後に,白黒2値化を手続きを施してみた。それが次の画像。

300dpiカラー圧縮度1を600dpiに拡大したのち白黒2値に変換

紙焼け除去のためのレベル補正とかの影響を除けば,ScanSnapの300dpi白黒とほぼ同じ品質だと思う。ファイルサイズも,CCITT FAX G4圧縮のTIFFファイル同士で,ほぼ同じであった。

というような訳で,断言は出来ないが,ScanSnapが生成する白黒画像は,おそらくは2倍にリサンプリングしたのちに2値化しているのだろうと思う。だから,白黒とカラーのどちらか一方を選ぶとすれば,フルカラーの方が良いかも。白黒2値化はあとでソフトウェア的に行えるのだから。まあ,それが面倒なら白黒でも悪くはないのだが。

スキャンしたPDFの後処理

以前から懸案ではあったのだが,Windowsマシンも買ったことだし,画像処理関係のツールをいろいろ集めて実験してみた。実は,Mac上でもImageMagickなどで実験していたのだが,Windowsだと専用のツールが豊富にあるようなので,それがWindowsマシン購入の理由の1つだったりするのだ。

自分でスキャンするものについては,スキャンの段階で白黒2値とか選べるが,Bookscanなどのスキャン代行業者に依頼したものは,そういうわけにもいかず,黄色く紙焼けした本など,そのまんまカラーでスキャンされているものが,けっこうある。それをきれいに脱色して,白黒2値あるいは16階調グレースケールあたりに変換するのが目的である。

いくつか試してみた結果,画像梱包,Ralpha Image Resizer, XnView の3つを使って,とりあえず目的を果たした。XnViewはMac版やLinux版もあるが,あとの2つはWindows専用のプログラムである。

まず,画像梱包(pic2pdf)を使って,PDFの画像を抽出する。ソフトの注意書きには,画像梱包でPDFにしたものに対してのみ抽出可能とあったが,スキャンした本のPDFでも大丈夫のようだった。要するに,複雑な構造のPDFもあるから,それは無理ということなのだろう。本をスキャンして作ったPDFは,たいていの場合,単にJPEGのデータにヘッダー(XMLとか)を付加しただけであるから,問題ないのだと思う。抽出のスピードも非常に速い。AcrobatでJPEG出力するよりもずっと速いのだ。しかもJPEGのヘッダーを外すだけなので,基本的に無劣化で画像が取り出せるらしい。

次は,Ralpha Image Resizer を使っての画像処理。紙焼けは,周辺部がとくにひどいので,文字がないことを確認してから,上下左右をトリミングする。そして,同じ分量だけ付け加える。こうすると,紙の周囲が真っ白になる。次に,2倍に拡大する。これで,600dpi相当にオーバーサンプリングしたことになる。最後に白黒2値化するので,解像度を上げておきたいから。続いて,トーンカーブを調節する。ここのところは,ImageMagickのlevel処理のように,high, low, gamma の3つで簡単に処理しても良いと思うのだが,まあ,似たようなもの。プレビュー出来るので,結果を見ながら調節できる。最後に,赤チャンネルのみを抽出してグレースケールにする。

このあと,白黒2値でCCITT FAX G4圧縮のTIFFにしたいのだが,Ralphaでは白黒2値というメニューがない。グレースケールで色数を2色にすれば,白黒2値と同じなのかもだが,それでもJPEGになってしまうのは嫌なので,Ralphaだけで済ますのはあきらめた。結局,Ralphaでは,グレースケールにしてPNGとして出力させて終了。

Ralphaで出力したPNGファイルをXnViewで一括変換する。一気に白黒2値とどれくらい違うが疑問だが,段階を踏むことにして,グレースケールの色数を4bit, 3bit, 2bitと下げていき,最後に1bitつまり白黒2値にする。白黒2値にする際には,閾値(しきいち,threshold)というパラメーターがあるはずなのだが。何故か見当たらない。ここが謎なのだが,ともかく白黒2値にする。出力はCCITT FAX G4圧縮のTIFFファイルとする。

最後に,再び画像梱包を使う。解像度を600dpiと指定して,PDFに固める。解像度の指定をしておくと,Acrobatで見るとき,100%でもそれほど巨大にならないし,それに,表紙と裏表紙(これはPDFから抽出したままで,2倍にしていない)を後からAcrobatで加えるとき,同じ大きさで表示されるので,ちょうど良い。

以上で作業は終了。これをバッチ処理できるスクリプトがあればよいのだが。書式は,
mypdf2pdf hoge.pdf -level high low gamma -color 1-2 143-144 -resize 2 hoge2.pdf
とかいった感じで。

自炊事始め2

裁断の要領や注意点(紙がくっついてないかを、くどいくらいにチェックすること)も分かってきたので、いよいよハードカバーの書籍の解体・裁断・スキャンをやってみた。

少々ためらったが、シュヴァルツの解析学(全7巻)を遡上に。まずは、第7巻から。魚をさばくのに比べればずっと楽。(というか、やったことないから、想像だが。) 本体と表紙をくっつけているガーゼ(?)のような部分があるので、カッターで真っ直ぐに切ると、繋ぎ目がきれいに外れるようだ。上手くやると背表紙に傷をつけることなく、ハードカバーだけがパカっと取れる。まあ、どのみち廃棄するのではあるが、中には裁断後も残す本もあるだろうから。

裁断機Durodex 200DX, OFLAカッターハイパーH型, PLUS カッティングマット, アルミ直尺アル助

道具は、カッター、カッティングマット、定規、そして裁断機。

ハードカバーを解体・裁断 (シュヴァルツ 解析学7)

上で書いたように、脇の部分(?)というか、繋ぎ目を切断してハードバウンドを外す。読み取りはまだ試行錯誤中だが、網掛けの挿絵のない数学書の場合、白黒が一番読みやすいと思う。ScanSnapではPDFかJPEGしか選べないのだが、白黒だとJPEGも選べずにPDFの一択になってしまう。内部フォーマットはJPEGなのか、それともTIFFなのか、それも分からない。まあ、でも、これでまずまず満足の画質ではある。

白黒で読み取ったページ

念のため、カラーのJPEGでも読み取っておくことにした。圧縮もレベル2と少なめにした。ホントはRAWというかTIFFかPNGで読み取ったものを原本にしたいところだが、まあ、その代わりといったところ。

カラーで読み取ったページ

白黒での読み込みも、実はカラーで読み取ってから、画像処理用のCPUか何かでソフトウェア的に白黒にしているのだと思う。だとすれば、カラーで読み取ってから、ImageMagickなどで変換するのと、(手間を除けば)変わらないのはず。

しかし、本を解体するのは、心理的な抵抗感があるなあ。そのうち慣れちゃうのかもだけど。

自炊事始め

一昨日,初めてScansnap IX500でスキャンしたのだが,昨日は,これまた初めて裁断機 Durodex 200DX を使ってみた。幾つか失敗もしたので,反省点を含めてメモ。

  • 裁断後,ページがくっついてないかを,キチンと確認すること。ホッチキス留めの雑誌で失敗したのだが,内側のページがほんの僅かではあるが,くっついていて,そのせいでジャムってしまった。ぱっと見るとちゃんと裁断されているように感じるのだが,油断すべからず。安全を考えるのなら,多めに裁断しよう。
  • 上に関連するのだが,裁断時にページが圧着されるというか,圧力が加わるので,一度パラパラとページをばらすようにした方がよい。静電気で圧着のようになる可能性もあり。そうすると,スキャナーで紙を引き込む時に,くっついたページまで引きずられることとなる。
  • スキャナーの設定について。デフォルトはあまりにざっくりな感じなので,自分の用途を考えて,幾つか設定すべし。とりあえず,PDFかJPEGか,カラーグレー自動か手動でモノクロか,両面か片面か,JPEGの圧縮度をどうするか,このあたりを考えて,複数設定しておくこと。あとでImageMagickなどで補正することを前提とすれば,自動にせずにカラーで読み込んでおくのが良いかも。

ドキュメントスキャナーと裁断機を購入

ついにスキャナーと裁断機を購入した。

ScanSnap IX500 と 裁断機 Durodex 200DX

スキャナーは定番のScanSnap IX500という機種。TWAINに対応していないとか,気に入らないところもあるのだが,総合的にはまあこれだろうな,ということで。裁断機は縦置きで保管できて場所を取らない(比較の問題ですが)ということで,Durodexの200DXにした。

来週になったら少し暇になるから,ホントの自炊(今までは業者に依頼していたので)を始めてみようかな。

手羽先の照り煮

もう20年くらい前になるが,池袋(西口,ロサ会館近く)にモロッコというバーボン専門のバーがあって,そこでよく頼んでいたのが,手羽先の照り煮。これだけが単品メニューにあるバーって案外とないもので,食べる機会がほとんどなかった。ふと,自分で作ってみようかという気になって,適当に作ってみた。自分で言うのもなんだが,美味しく出来たと思う。

手羽先の照り煮

正しい作り方は知らないが,あくは取るんだろうな,ということで,茹でこぼしじゃないが,沸騰したお湯であくを出して,お湯は捨てる。手羽先を洗って,にんべんのつゆの素(濃縮)に酒を適当に加えて(だいたい同量くらいか?),味見して味醂を少し加えて,手羽先を煮る。最初は色が薄いが,翌日くらいになると煮詰まってきて,いい色になる。

Ubuntu 13.04 にインストールしたものメモ(1)

[備忘録]
以前、Ubuntuを使っていたときは、8.04とかそんな頃だったと思う。あちこち変わっているので、自分の為にメモ。

開発関係のプログラムをインストールするために、Synaptic Package Manager を使おうと思ったのだが、見当たらない。UbuntuソフトウェアセンターというMac App Storeみたいなものが入っていて、一般的なアプリはここからインストール出来るようになっている。そこで、まずは、Synaptic Package Manager を探してインストール。次に、Cairo-Dockをインストール。これはMacライクなドックを提供するもの。デフォルトのドックが画面左端にあるのだが、あまり使い易くない。これだったら、以前のメニュー形式の方がましだったなあと。ということで、Cairo-Dockなのであるが、OpenGLをオンにすると挙動が少しおかしい気がする。OpenGLはオフにして使うことにした。特に反応が遅いということもないし。

それから、定番のTeX 一式をTeX Liveで入れる。2012版だけど。Dropboxはちょっと迷ったのだが、TeX入れるのであれば、仕事するかもだから。EvernoteはUbuntu Software Center で探した限りではなかった。あと、チェスプログラムとか適当に。

  • Synaptic Package Manager (グラフィカルなパッケージ管理ツール)
  • GLX-Dock(Cairo-Dock with OpenGL)
  • TeX Live 2012
  • Dropbox
  • PyChess (チェス・プログラム)
  • Shutter (スクリーンショットを撮るアプリ)

ソフトウェアセンターを終了させて、Synapticを起動する。ここから以下をインストール。

  • build-essential (GNU C コンパイラーを始めとする基本ツール類。これがないと始まらない。)
  • opencv関係 (python-opencvを含めて)
  • asymptote (MetaPostを拡張した描画ソフト)
  • nkf (ネットワーク漢字コード変換フィルター)
  • p7zip (=7zip) (7-zip アーカイバーのUNIXコマンドラインへの移植版)

とりあえず今回はこんなところ。

UbuntuアップデートしたらWindowsが起動できなくなった話

まあ,何とか解決したから良かったんだけど。備忘録として記録。

DellにUbuntu 13.04をインストールしてから2週間くらいだろうか。システムのアップデートの通知が来たので,ハアと思いつつもアップデートしたら,再起動が必要ですと。再起動すると,あれ?ブートメニュー(Grub)が増えてる。いや,増えてると同時に,Windows7が消えてる!(笑)

まあ,最悪でもインストールDVDからWindows7を起動してシステムの初期化をすればいいのだが,それはできれば避けたい。ということで,あれこれ検索。Ubuntu Windows7 MBR 修復,あたりで検索すると,ms-sys というUbuntu (Linux) のツールが見つかった。LINUX上でMBR(マスターブートレコード)にWindows(互換?)のブートレコードを書き込めるツールらしい。

安定版のms-sys-2.2.1をダウンロードして解凍。サイトの指示に従って,make, sudo make install してインストール完了。使い方は ms-sys –help で分かる。分かるのだが,デバイス名が分からないので,再び検索。ターミナルで parted -l とすれば表示される。/dev/sda だったので,sudo ms-sys -7 /dev/sda とする。これで,Windows7用のブートローダーがMBRに書き込まれたらしい。

さて,Ubuntuを終了して,電源を入れる。おお!メニューの最後に Windows7(/dev/sda2) (正確にはちょっと文言が違うかもだけど) のように表示されて,Windows7が起動できた。

やれやれ。しかし,どうしてアップデートくらいでこんなことになっちゃうのかなあ。いや,原因はアップデートじゃないのかもだけど。

Twitter Digest 2013-06-09

  • 「いちどにありがとう32」検索した。ふーん,日本でも欲しいじゃないか。 16:23:41, 2013-06-09
  • 修正原稿ほぼ完成なれど、これをゲラに書き込むのが面倒。修正したLaTeX/PDFのまま印刷できれば楽なのになあ。 16:26:31, 2013-06-09
  • 最近 \usepackage[libertine]{newtxmath} で新しい数式フォントを使っているのだが,どうもプラス記号とマイナス記号の幅が違うようだ。字体は気に入っているので非常に残念。フォントメトリックにパッチ当てとか出来ないだろうか。 17:43:37, 2013-06-09
  • じぇじぇじぇ!行きたいけど行けない… お店には残っているのかなあ。 RT @araiyasaketen: 今日の飲み比べはヤバイ
    ((((;゚Д゚))))))) http://t.co/IrXlA9lwnJ 17:46:28, 2013-06-09
  • ひさびさに大笑いした。// 小泉みつお岩手県議会議員、病院にて番号で呼ばれたことに激怒しクレームで炎上 #ldnews http://t.co/XZoFEpHPNg 18:44:18, 2013-06-09
  • LaTeX tips. \left( と \right) で囲むとカッコの両側に微妙なスペースが入る。これを除去するには,属性を変える必要がある。具体的には,\mathopen{}\left( … \mathclose{}\right) とすればよい。マクロにしておくと便利。 20:00:52, 2013-06-09