2020年07月25日

手書き文書の写真を見やすい PDF にする

 リモートワークに対応するため、「手書きの文書をスマホカメラで撮影して送ってもらう」機会が激増した。なかなかキレイに撮るのは難しいんですよね。どうしても影が映ってしまうし、まっすぐに撮るのも難しい。だいたい、こんな風になっちゃう。

20200723-2.jpg

 フラッシュを焚いたら影は映りにくくなるけど、それでもこんな感じ。

20200723-3.jpg

 こういうのを何とかするためのスマホアプリなんて、絶対誰かが作っているはずだ。「スマホ pdf」とかで検索したら、いっぱい出てきます。いくつか試用してみて、これはいけそう、と思ったのが2つあった。1つは CamScanner。

20200723-4.jpg

 もう1つは ClearScanner。

20200723-5.jpg

 CamScanner は「CamScanner でスキャン」というメッセージが入る。ClearScanner はこれが入らない代わりに、すごい勢いで広告が出てくる。広告をタップしないように気をつけながら使えば、こっちの方がいい。もっとも、課金バージョンにすれば、メッセージの件も広告の件も解決するはず。これぐらいケチるな、という話もある。

 この手のアプリを使ったことがない人のために少し解説しておく。アプリを立ち上げると写真を撮るボタンが出てくるので、それを選んで、普通に写真を撮る。すると、下のように、補正画面になるわけです。

20200723-6.jpg

 枠の形を調節して決定すると、こうなります。背景が真っ白になって、選んだ不等辺四角形の内側が長方形に変換される。圧倒的に見やすくなります。

20200723-7.jpg

 右下のチェックマークで「承認」すると、pdf として保存されます。あとは、G Mail で送るとか、クラウドに保存するとかして、ファイルを持って来ればOK。

 で、送ってくれる相手がこのアプリを入れてくれればいいんだけど、何度言っても入れてくれない人が一定数いるわけですよ。そういう人は、影のついた生写真を平気で送ってくる。こんなのを何十枚も見ていたら眼に良くないので、生写真の影を消す方法を検討しました。

 初めは、手動で輝度とかコントラストをいじってみたんだけど、当然ながら影は消えない。

20200723-8.jpg

 そもそも、この機能を搭載したスマホアプリがいくつもあるということは、簡単に自動化できるということじゃん。いろいろ調べてみて、ImageMagick を使う方法にたどり着きました。

$ convert input.jpg \( -clone 0 -blur 40x80 \) +swap -compose divide -composite -quality 65 output.jpg

 元の画像を複製して (-clone 0)、ぼかしをかけて (-blur 40x80)、それを背景として差し引く (+swap -compose divide -composite)。こうなります。

20200723-9.jpg

 周りの枠を消して、コントラストを自動調整できればいいんだけど、それはちょっと大変そうなので、一応これで我慢することにした。影付き生写真よりはよほどマシなので。

 なお、ImageMagick は Homebrew で入れました。こういうパッケージマネージャは好きじゃなかったんだけど、Homebrew は最近使いまくってます。生産性を上げるためにはしょうがない、と割り切っています。

Posted at 2020年07月25日 09:47:54
email.png