\ay diaryhoge moge

2012-04-08

スキャンした画像を読み易くするための後処理が世の中でどのように行われているか調べてみた。自分用のブックマークでもある。

jarp,より

150 dpiでスキャンするより300 dpiでスキャンして16階調にしたほうがサイズが小さい - jarp,

convert in.png -deskew 40% -level 30%,100% -sharpen 5 \ -density 150x150 -colorspace gray -resize 514x751! -depth 4 out.png

-deskewにより傾き補正をかける。その際にぼけるため-sharpen 5でぼけ補正もしておく。

スキャンは横向きで - jarp,

r=90 for i in .png;do convert $i -rotate $[r=-1] r90-$i; done

縦長の紙面を横向きでScanSnapにかけるとスキャンにかかる時間が短くなる。このときの画像は横向きかつ互い違いとなるため、これを縦向きに変換するためのコマンドライン。

ImageMagick convertで連番処理 - jarp,

convert '*.png' -type grayscale -depth 4 d4/%03d.png

ImageMagickには独自のワイルドカード処理がある。また、出力ファイル名にprintfに似た形式の文字列展開ができる。この例のように出力ファイル名に%dがあれば、その部分は0から始まる連番に展開される。たとえば*.pngにマッチするファイルが三つあればd4/000.png、d4/001.png、d4/002.pngに変換結果が出力される。

-scene 1のようなオプションを付加すると連番が指定した値(この場合は1)から始まる。

この他、画像自身の属性値からファイル名を構成するなどいろいろなことができる。参考:

Desire for wealth : ScanSnap の自炊 pdf を自動で美白化(レベル補正)する

convert -density 150x150 -type GrayScale \ -linear-stretch 10%x35% \ -geometry 512x -compress jpeg -quality 80 a.pdf b.pdf

PDF中の画像データに対して、いわゆる白飛ばしをかける方法が紹介されている。ここで-linear-stretchのパラメータの意味が重要となる。このパラメータについての詳細はUbuntu Weekly Recipe 第102回 ImageMagickでコマンドラインから画像加工で解説されている。(二ページ目へのリンクだが一ページ目から読んだほうが分かりやすい。)

これらの記事で解説されている-linear-stretchの他に-levelというよく似たオプションがある。両者の違いと適用した結果がどうなるかについてもう少し調べた内容を別記事にしてみた。

スキャンした書籍や書類の余白をImageMagickで除去する | anobota

convert \ ( -size 320x400 xc:white ) \ ( -level 0%,75%,0.8 -fuzz 50% -trim original.jpg ) \ -gravity center -composite out-5.jpg

344×292の余白のある画像から文字部分だけを切り抜いて、それを320×400の中央に配置するためのコマンドライン。

-trimによる文字部分の切り抜きの際、-fuzzを指定することで紙質によるムラなどの影響を小さくすることができる。小説などではかなり使えそう。技術書でも、といいたいところだが、ページ端にマークがついていたりするので最初に-cropしないとならないかも。

Kindle3向けdot by dotな自炊PDFを(真面目に)作成する - ただのにっき

様々に調整された手順をパッケージ化されている(kindlizer)。私自身は同端末を持ってはいないのでそのまま使うことはないが、その内容は参考にさせてもらえるのではないかと思う。と、いいつつ、まだあまり内容を読んでいないけれど。

scansnapで自炊した本をkindleで読めるように補正する(2)

ImageMagickがよく使われるなか、OpenCVで後処理を行っているという話。OpenCVを使った処理に興味があるので時間をとって試してみたいと思っている。が、これまたなかなか手をつけられをいままでいる。

しばらく開発が止まっていたRuby/OpenCVが動き出しているようであり、手を出すのにちょうどよい時期かもしれない。(参考: 第5回 Ruby/OpenCV進捗報告ruby-opencv)

Gimp Script-Fuによる処理

ここからGimp関係の記事になる。

Script-fu: 矩形選択範囲からImagemagick crop用のgeometry表現を得る

これは直接的なものではないが、GimpのScript-Fuを使っていて興味をひく。Script-Fu自体の情報がなかなかないので参考になる。(参考: Gimp記事のもくじ)

Gimp Pythonでスキャンした画像を一括修正

GimpからPythonスクリプトにより画像処理をするという話。トリミングやトーンカーブ調整などが行われていて、詳しく読んではいないが参考になるのではないかと思っている。