リモートワークに対応するため、「手書きの文書をスマホカメラで撮影して送ってもらう」機会が激増した。なかなかキレイに撮るのは難しいんですよね。どうしても影が映ってしまうし、まっすぐに撮るのも難しい。だいたい、こんな風になっちゃう。
フラッシュを焚いたら影は映りにくくなるけど、それでもこんな感じ。
こういうのを何とかするためのスマホアプリなんて、絶対誰かが作っているはずだ。「スマホ pdf」とかで検索したら、いっぱい出てきます。いくつか試用してみて、これはいけそう、と思ったのが2つあった。1つは CamScanner。
もう1つは ClearScanner。
CamScanner は「CamScanner でスキャン」というメッセージが入る。ClearScanner はこれが入らない代わりに、すごい勢いで広告が出てくる。広告をタップしないように気をつけながら使えば、こっちの方がいい。もっとも、課金バージョンにすれば、メッセージの件も広告の件も解決するはず。これぐらいケチるな、という話もある。
この手のアプリを使ったことがない人のために少し解説しておく。アプリを立ち上げると写真を撮るボタンが出てくるので、それを選んで、普通に写真を撮る。すると、下のように、補正画面になるわけです。
枠の形を調節して決定すると、こうなります。背景が真っ白になって、選んだ不等辺四角形の内側が長方形に変換される。圧倒的に見やすくなります。
右下のチェックマークで「承認」すると、pdf として保存されます。あとは、G Mail で送るとか、クラウドに保存するとかして、ファイルを持って来ればOK。
で、送ってくれる相手がこのアプリを入れてくれればいいんだけど、何度言っても入れてくれない人が一定数いるわけですよ。そういう人は、影のついた生写真を平気で送ってくる。こんなのを何十枚も見ていたら眼に良くないので、生写真の影を消す方法を検討しました。
初めは、手動で輝度とかコントラストをいじってみたんだけど、当然ながら影は消えない。
そもそも、この機能を搭載したスマホアプリがいくつもあるということは、簡単に自動化できるということじゃん。いろいろ調べてみて、ImageMagick を使う方法にたどり着きました。
$ convert input.jpg \( -clone 0 -blur 40x80 \) +swap -compose divide -composite -quality 65 output.jpg
元の画像を複製して (-clone 0
)、ぼかしをかけて (-blur 40x80
)、それを背景として差し引く (+swap -compose divide -composite
)。こうなります。
周りの枠を消して、コントラストを自動調整できればいいんだけど、それはちょっと大変そうなので、一応これで我慢することにした。影付き生写真よりはよほどマシなので。
なお、ImageMagick は Homebrew で入れました。こういうパッケージマネージャは好きじゃなかったんだけど、Homebrew は最近使いまくってます。生産性を上げるためにはしょうがない、と割り切っています。