ウェブサイト検索

SANE APIを使用してLinuxでスキャナーを制御する


Linuxデスクトップからスキャナーにアクセスする必要がありますか?ここでは、Linuxで写真や文書をスキャンするためにSANE APIを使用する方法を紹介します。

スキャナーアクセスナウイージー(SANE)は、フラットベッドスキャナー、ビデオカメラ、静止画カメラなどのスキャンデバイス用のAPIです。

SANEは、コマンドラインのパッケージ管理システムを通じて、スタンドアロンのライブラリとして、またはフロントエンドの一部としてインストールできます。

なぜSANEはアプリケーションプログラミングインターフェース(API)なのですか?

さて、実際には専用の内部APIを持つ特注のグラフィカルユーザーインターフェース(GUI)を開発するよりも、良いAPIを開発する方が実際に役立ちます。GUIはLinuxの世界ではすぐに陳腐化します。

誰かがより良いフロントエンドを開発すると、彼らはそれをAPIに接続するだけで、新しいアプリケーションがより良いユーザーインターフェースを持つことになります。それは、提供されるものによって、成熟したAPIと同じ機能を提供することがあります。そして、インターフェースはかなり異なる場合があります。

SANE フロントエンド

SANEは単なるAPIであるため、その機能にアクセスする方法は複数あります。最も人気があり、よく知られているLinuxフロントエンドはXSANEで、特徴的な画像には虎の写真のプレビュースキャンが表示されています。もう一つの似たGUIフロントエンドはskanliteです。

SANEをインストールすると、コマンドラインのフロントエンドも付属しています。デバイス、スキャナーオプション、出力ファイル形式を選択するための多くのオプションがあります。たとえば、この行

scanimage --device "epson2:libusb:002:003" --mode Color --format=png --output-file tiger.png --progress

スキャンされた写真のPNG画像を生成します。スキャナーがネットワークに接続されている場合、例えばオールインワンのファックス/コピー/スキャナーの場合 - デバイスにはそのIPアドレスを使ってアクセスできます:

scanimage --device "epson2:net:192.168.1.26" --mode color --format=png --output-file tiger.png --progress

SANEを使用したスキャナーの利用

スキャナーは、さまざまな種類の平面メディアや、平坦な面をプレートに対して提供できるオブジェクトに使用されます。あなたのファックス機はスキャナーの一種であり、新しいものは内部スキャナーの機能とファックス機能を統合しています。

専用のフラットベッドスキャナーには、透明メディアを照らすためのバックランプや、フィルムネガなどの小型メディア用の特別なホルダーなど、追加のハードウェアがあります。

スキャナーがサポートするオペレーティングシステムを簡単に確認すれば、市場で主流のOSであるWindowsとMac OSが独自のスキャンソフトウェアを対象にしていることがわかります。しかし、サポートされているスキャナーは1600以上あるため、あなたのニーズと予算に合ったSANEで動作するものを見つけるのはそんなに難しくないでしょう。

書類をスキャンする

SANEは、古い新聞、設計図、または図面などの文書をスキャンする際のデジタル化プロセスを制御できます。さまざまなオプションが用意されており、解像度を変更したり、カラー、グレースケール、または線画を選択したりすることができます。

G Optical Character Recognition(gocr)ユーティリティをインストールすると、XSANEのようなSANEフロントエンドを介して、または画像を保存した後にコマンドラインで印刷物の画像をテキストに変換できます。

gocr -i <input.pnm> -o output.txt

これを試したい場合はいくつかの実験が必要であることに注意してください。複数の列の新聞記事などのメディアでは、読みやすいテキストファイルを生成するためにgocrのオプションで試行錯誤が必要です。しかし、無料でLinuxで動作しますからね。

プリント写真変換を利用すること

私たちはスケジュールに追われ、時間がないため、必要なときに印刷されたメディアの写真を素早く撮るために携帯電話を使います。しかし、コントロール可能な照明、カメラスタンド、レンズなどのフラットフォトグラフィーセットアップをしていない限り、スキャナーを使用する場合と比べて高品質の写真を得る可能性は低くなります。

それはスキャナーの最も有用な応用であり、基本的には写真の高品質で高解像度の写真を撮ることです。画像の解像度と形式の両方を制御できますが、モバイルカメラでは解像度は制御できますが、必ずしも形式を制御できるわけではありません。

フォーマットにはロスがあるものとロスがないものがあり、最初はロスのないものを選ぶと、後で解像度を下げるオプションが得られます。例えば、2つのデバイスから最高解像度で画像を比較すると:

デバイス

解決

サイズ (MB)

フォーマット

ピクセル4a

4032x3024

13

生の

エプソン WF-3640

6784x4661

94.8

ティフ

写真の写真を撮ることは、元のシーンを撮影することとは同じではありませんので、いくつかのモバイルカメラで利用可能なRAWフォーマットの使用に関して言えば、印刷された写真を変換する際の比較は必ずしも公平ではありません。

解像度に加えて、スキャナーでは画像がデジタル化される際にガンマを調整することもできます。ガンマは、影をより暗くし、明るい部分をより明るくする方法ですが、モバイルカメラの明るさ/暗さの調整とは異なります。

スキャナーによっては、スキャンを写真の小さな領域に制限するオプションが便利です。画像の一部を少なくキャプチャし、ファイルサイズを小さく保ちたい場合に役立ちます。

ついに、SANEを使うことで、画像の出力形式をPNM、TIFF、PNG、またはJPEGに変更できるようになります。

写真ネガおよびスライドのスキャンニング

ネガやスライドを作成した場合、それらはスキャンされて逆転色に変換され、実質的には(しかし完全ではなく)暗室の基本的なステップを再現することができます。透明メディアのスキャンをサポートするためにはバックランプ付きのスキャナーが必要です。

この組み合わせにフォトプリンターとフォトペーパーを追加すれば、自分のネガやスライドから写真を印刷できるようになります。

平面物体のスキャン

物体をスキャンする代わりに写真を撮るのはなぜですか?良い質問です。その理由は、手持ちのカメラで物体の写真を撮ると、カメラが正確に焦点を合わせられなかったり、動いてしまったりして、ぼやけた画像になることがあるからです。

これは、カメラにマクロセットアップや照明、物を保持するためのガラスプレートがない時に、岩、葉、昆虫の翼などの自然観察に適しています。

SANE対応カメラ

SANEは限られた数の静止画およびビデオカメラをサポートしていますが、サポートがより広範囲に広がるか、業界がAPIを広く採用するまで、USB経由でカメラを接続することはファイル転送にしか役立ちません。

もう正気ですか?

SANEはLinuxユーザーに対して、同じAPIから多くの異なるスキャナーを制御する能力を提供しており、その機能にアクセスするための多数のフロントエンドオプションがあります。あなたのシステムや特定の好みに応じて、XSANE、Skanlite、または他の十数の選択肢の中から選ぶことができます。

このツールと他のさまざまなLinuxユーティリティを使用すると、古い写真を復元したり、ネガフィルム、スライド、新聞、その他の印刷物をデジタル化したりできます。肉眼でははっきり見えない細かい詳細や簡単に撮影できない物体を捉えることさえ可能です。

関連記事: