10月 2012

Twitter Digest 2012-10-19

  • 何とかググってHomebrewのupdateに成功。sudo必要だったりしたのはパミッション関係がちょっとダメなのかもだが。エラーではないが,XCodeが4.3.3なので最新の4.5にするように促された。 08:09:44, 2012-10-19
  • ということで,XCodeの最新版をDLしにAppleのサイトへ。開発者登録が必要なはずだが,何故かApple IDでサインイン出来た。もしかしたら,ずっと以前に登録していたかも。ともかく,XCode4.5.1とコマンドラインツールをDLした。 08:12:18, 2012-10-19
  • XnConvertを1.51にアップデートした。赤チャンネル抽出や白黒レベル補正もついて,ImageMagickと同じパラメーターでの自炊PDF処理が出来るようになってた。こっちの方が速いし,またこっちに戻ろうかなあ。 09:34:00, 2012-10-19
  • nconvertには減色(ポスタリゼーション)とグレースケールがあるが,赤チャンネル抽出したあと,どちらを使う方が良いだろうか。悩み中。 11:25:43, 2012-10-19

ImageMagickとXnConvertを併用してみる

[備忘録] 自炊PDFの後処理関係のメモ。

XnConvertのバージョンが1.51に上がり,従来のBrightness, Contrast以外にも,白黒のレベル指定が出来るようになった。これで,ImageMagickでの -level high, low, gamma と同じ(多分ね)パラメーターの指定が可能となった。速度的にはLanczosでの拡大処理を含めてXnConvertの方が速いので,こちらをメインにしようかと思う。

ただ,XnConvertでは,モノクロ2値への変換で threshold値を選ぶことが出来ない。また,ImageMagickの shave (上下左右を切り取る),border (逆に上下左右を塗る) などの処理が出来ないみたいだ。shaveに関しては,cropとrotateを組み合わせれば良いようにも思うが,よく分からない。一番の問題点は,thresholdの値(閾値)を選べないということなので,この部分はImageMagickを使う方が良いだろう。

ということで,試しに一冊処理してみた。hoge.pdfをpdfimagesを使って,hoge_000.jpgからhoge_124.jpgにバラす処理は済んでいるものとする。そこの階層に行って,次のようにする。

nconvert -extract 0 -ratio -rtype lanczos -resize 200% 200%  -levels 60 255 -gamma 0.7  -posterize 64 -posterize 32 -posterize 16 -posterize 8 -posterize 4 -out png  -o nc_% -overwrite  *.jpg

コマンドの意味は次の通り。-extract 0 で赤チャンネル抽出。-ratio 以下は,lanczosアルゴリズムによる200%拡大。-levels 60 255 と -gamma 0.7 は ImageMagickでの level 60,255,0.7 と同じ。今回の本は,スキャンの具合が良くなくて,全体的に文字が薄くてボケた感じなので,白飛びさせると文字が消えてしまいそうだったので,high=255とマックスのままにした。

-posterize は減色(ポスタリゼーション)処理。64色から順に半分ずつにして,4色まで減色している。-out png は出力ファイル形式をPNGにするということ。-o nc_% は出力ファイルの名前の設定。これだと,元ファイルがhoge002.jpgの場合,nc_hoge002.png となる。-overwrite は出力ファイルと同じ名前があった場合に上書きするということ。nconvert による処理は以上で終了。

次は,ImageMagickを使う。mogrifyコマンドを使って,上下左右を削除して白で元にもどす。それから,閾値を80%にして,モノクロ2値化する。出力ファイルはtiffにして,FAX Group4で圧縮する。

mogrify -shave 40x40 -border 40x40 -bordercolor "#FFFFFF" -threshold 80% -format tiff -compress Group4 nc_*.png

続いて,tiffをpdfに変換。

mogrify -format pdf nc_*.tiff

最後に,pdfファイルをまとめて,hoge-mono.pdf にする。

pdftk nc_*.pdf cat output hoge-mono.pdf

こんな手順で,モノクロ2値化が完了。一冊毎にパラメーター変えるのなら,この程度の入力を毎回行なっても,それほど面倒ではない。パラメーター固定で複数の書籍を変換するのなら,やはりバッチ処理用のスクリプトを書いた方が良いだろうなあ,やはり。

Twitter Digest 2012-10-16

Twitter Digest 2012-10-14

  • 明日は名古屋出張なのに、まだダラダラと飲んでいる。SipsmithとVictorian Vatを交互にジン・トニックの味比べ。Sipsmithも悪くないというか、かなり旨いが、ジュニパーの強力さでVictorian Vatの方が好きかも。 00:35:41, 2012-10-14
  • iPad mini出たら買おうと思っていたが、Retinaじゃないというもっぱらの噂。それじゃなあ〜。ともかく17日を待つか。 00:37:33, 2012-10-14
  • 山手線止まって大崎で足止め。_| ̄|○ 新幹線、間に合うかなあ。 08:12:55, 2012-10-14
  • 早めに出たおかげで、山手線トラブルはあったものの、何とか新幹線間に合った。朝食の時間なくなったが。 http://t.co/63YvbLXY 08:45:01, 2012-10-14
  • 今日の目的は果たした(笑) http://t.co/dT4MDnEd 10:29:35, 2012-10-14
  • Firefoxを最新版にしたらDeliciousのアドオンが使えなくなったので、慌てて旧版にダウングレードした。Deliciousないと困る。 23:14:42, 2012-10-14

Twitter Digest 2012-10-13

ImageMagickのmogrifyコマンドを使う

[備忘録] 以前 The Internet Archive からダウンロードしておいた E. Cahen の Theorie des nombre, tome 2 (整数論,第2巻)。サイズも小さくで良いのだが,何故かMacのプレビュー.appで見ると,ものすごく動作が遅くてスクロールもままならないという状況だった。それで,放っておいたのだった。そのときは対処法など分からなかったのだが,業者に依頼した自炊(?)PDFが時々同じようにスクロールが重たいという経験を経て,どうすれば良いかが自分なりに少し分かってきたので,それを試してみることにした。

処理対象は,thoriedesnombr02caheuoft_bw.pdf というファイル。サイズは27.2MBほど。このままでも良いが,これを cahen2.pdf として保存。Acrobatで開き,jpegにバラして保存。cahen2_Page_001.jpg から cahen2_Page_762.jpg までの762個のjpegファイルが出来る。これらはモノクロの画像なのだが,サイズは500KBないし900KBもあり,かなり大きい。762個で520MBくらいになっている。グレースケールなのかもだが,拡大した様子では,文字部分は2値のようにも感じる。ともかく,これが27MBに圧縮されていたのだから,すごい圧縮率ではある。

さて,これを ImageMagick で白黒2値のtiffに変換して,CCITT Group4の圧縮をかけることにする。ついでに,広すぎる余白を少し削ってみた。iPhoneで見るときは余白ないほうが見やすいから。

ImageMagickのconvertでは多数のファイルを処理させると,ウソみたいに大量のメモリーを消費してしまうので,今回は mogrify というコマンドを使ってみた。convertとほとんど同じ処理が出来る。

mogrify -shave 100x200 -threshold 80% -compress Group4 -format tiff cahen*.jpg
mogrify -format pdf cahen*.tiff
pdftk cahen*.pdf cat output cahen2mono.pdf

作業内容は次の通り。mogrify コマンドで,まず, -shave 100×200 として,左右100ピクセル,上下200ピクセルずつを削除。次に,-threshold 80% で2値化。さらに, -compress Group4 でFAX G4での圧縮,最後に -format tiff でファイル・フォーマットをTIFFにする。これらを cahen*.jpg すべてに適用する。次に,生成されたtiffファイルをpdfに変換し,pdftkによって,これらのpdfを結合して,cahen2mono.pdf にする。最終的なファイルサイズは,25MBくらいになり,Macのプレビューでも,iPhone4Sの i文庫S でも,スムーズにスクロールして,すこぶる快適になった。

最初のページは次のような感じ。

Cahen "Theorie des Nombres" tome 2

iPhone 4Sでのスクリーンショットは大体こんな感じ。

Cahen "Theorie des nombres" on iPhone4S

iPhoneではさすがに文字が小さく,老眼にはつらいのだが,メガネ外すと,それでも何とか読める。何よりも,750ページもあるのに25MBに収まり,動作も軽くなったので,大満足である。