スキャンすると自動で画像を保存する仕組みを自作したい
#自作したい
ソフトウェア系のプロジェクトだが、こういうのも書いていきたい・・inajob.icon
保育園で買える娘の写真がアナログの紙に印刷したものなのでキャプチャしたい。また日々の生活で溜まるプリント、書類もササっとスキャンして物理的な紙は捨てたい。
さらに検索可能になるとうれしい
Raspberry Piで動くと楽そう
スキャナーの選定
古い中古のスキャナーが安いが、64bitOS用のドライバが供給されていないことが多い
が、Linuxで動かすなら関係ない
https://smile-sharing.co.jp/blog/03/post_24.html
「そのままの大きさで印刷する予定なら300dpiでスキャン。拡大印刷する予定ならその拡大分だけ解像度を高くしておく」
なるほど
写真のスキャン解像度はどう決める?印刷、ムービーなど用途別の解像度もご紹介!|思い出レスキュー|写真プリントはカメラのキタムラ
人間の目で識別できる限度は300dpi
SANE - Supported Devices
Linuxでスキャナーを使う場合はSANEという仕組みのお世話になる
対応機種が多いが、サポートしていないものもあるので要チェック
事例
家庭用スキャナーとRaspberry Piをつなげてボタンひとつでスキャンを送る – BINBOGANI
CanoScan LiDE200
ボタンごとにカスタムの処理を組めるらしい
この記事が一番やりたいことに近い
【Raspberry Pi Advent Calendar 2021】108円のジャンクスキャナをラズパイで使う|Sora Arakawa|note
CanoScan LiDE 30
Raspberry pi と scansnap で スタンドアローンなクラウドスキャナを作る - Qiita
scansnap 1300i
Raspberry Pi スキャナを利用する
Canon N1240U
VueScan Scanner Software for macOS, Windows 10, and Linux
この製品を使うとWindowsでも古いスキャナーが使えるらしい
ログ
code: bash
sudo apt-get install scanbd
必要なパッケージはこれだけ
code: bash
scanimage --mode Color --resolution=150 --format jpeg > test.jpeg
とかで普通にスキャンできた
大きさは引数で指定する
自動トリム
code: bash
convert -fuzz 10% -trim scan_image_2022101415541665730470.jpg converted.jpg
ただ、少しでも端に縞模様とかが写っているとうまくトリムできない様子
OCR
code: bash
sudo apt-get install tesseract-ocr tesseract-ocr-jpn
文字情報入りのPDFを作る
code: bash
tesseract -l jpn image.jpg ocr.pdf pdf
認識した文字情報をテキストファイルに出力する
code: bash
tesseract -l jpn image.jpg ocr.txt
exifにテキストの内容を設定する
ただし仕様の問題で2000文字までしか入らない
https://exiftool.org/TagNames/IPTC.html
code: bash
exiftool -codedcharacterset=utf8 -IPTC:Caption-Abstract="$( cat ocr.txt| tail +2 |tr '\n' ' ')" converted.jpg
このように埋め込んだExif情報は PiGallery2で検索対象となる
ScanSnap iX1300を買ったら、Wifi対応で、Google Driveに保存してくれた。ikeji.icon
ふるさと納税にあった。
PDFは本文にOCRかけてくれるみたい。
もはやfabではない。
スタンドアローンでそこまでできるんです?それともPC側ユーティリティ?inajob.icon
フラットヘッドスキャナーは使いづらいのでその後ScanSnap S1500を買ったinajob.icon
中古で7000円くらい
自作するという点からはズレるけど、A3スキャンまで考えるとプリンタとセットにしちゃってPX-M6011Fがコスパ最強かも?Yuuki Umeta.icon
2〜3年ぐらいメインで使っているけど、困ることはないかなYuuki Umeta.icon
設定してないけど、自動保存とかPDFで連続ページにするとかできる