問題タブ [pyinsane]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - pyinsane のデバイス オプションでスキャン座標を設定する
scanimage
スキャナの OHP ユニットからフィルムをスキャンするために、Sane のコマンド ライン ユーティリティ ( ) を使用しています。これが私が成功して使用しているコマンドです:
pyinsane
画像処理ワークフローとさらに統合できるようにするために、これを Python コードに移行することにしました。これにより、Pythonコードで次のようになるはずです。
しかし、スキャン座標の設定方法がわからないため、最初の試みはうまくいきませんでしたpyinsane
。ご覧のとおり、適切なオプションを見つけましたが、それらの単位がわかりません。scanimage
デフォルトでは、座標はミリメートル単位ですが、pyinsane
整数のみを取ります。ピクセル座標を使用してみましたが、役に立ちませんでした。座標パラメータの単位と、それらを正しい順序で使用しているかどうか疑問に思います。
python - pyinsane を使用した 16 ビット カラー画像
pyinsane のスキャン セッションは、デフォルトで 8 ビット PIL イメージのリストを返します。これは、スキャンが 16 ビット モードで実行された場合でも (たとえば、透明度ユニットを使用して) 当てはまります。16ビット画像(PILはそれをサポートしていないと思います)またはpyinsaneから元の生データを取得する方法はありますか?
これは私が現在使用していて、8ビットの色深度の画像を取得しているサンプルコードです:
python - PythonでWindowsの特定のUSBポートをオフにする
これは私の最初の投稿であり、より具体的であるほど良いことがわかったので、非常に明確にしようと思います。事前に感謝します!
必要なもの:
同時に 2 つ以上のスキャナーから画像をスキャンする必要があります。これらのスキャナーは同じブランドとモデルのものです。この場合はEpson Perfection V600です。 20時間。
私のアプローチ
Windows を使用することにしました。Python には、1 つのスキャナーだけで、または異なるモデルの 2 つのスキャナーで必要なことを実行するプログラムが既にあります。しかし、ここに皆さんの出番があります:
問題
Windows は常に同じスキャナーで印刷します, それらは同じブランドとモデルのものであるため、常に同じものを使用します.2つの異なるスキャナーを使用すると、画像が比較できなくなるため、使用できません. それにもかかわらず、2 つの異なるスキャナーを使用する場合、このような問題は発生しません。各スキャナーで印刷する方法を見つける必要があります。USBハブを購入してpythonでも制御しようと思ったのですが、どうやらWindowsにlibsubを実装していると制御できなくなります。そのため、現在、特定のUSBポートを無効にして、プログラムが1つのデバイスのみを認識し、それをスキャンして、そのポートを無効にし、他のポートを再度有効にする方法を探しています。
私がアクセスできるもの:
- 現在、私はWindows 10、64ビット、Pythonカーネル3をConda環境内のPython 3.5バージョン、condaバージョン(4.5.11)で使用しています。
- conda内のpython 3.5環境で、pyinsaneが動作するUbuntu 16.04、64ビット(手元にcondaバージョンがありません)。
- 1 つのエプソン完全 V600。
- 2 台のCanon Lide200。Ubuntu ではドライバーが利用できないため、Windows でのみ動作します。
私も試したこと
- Ubuntu を使用して、
それは良いアイデアだと思いましたが、Epson ドライバーの Web ページは、残りの Epson ファイルを含むリポジトリに接続できず、ファイルを部分的にしかダウンロードできませんでした。すでに Docky リポジトリの所有者に連絡しようとしましたが、しかし、彼は私に連絡しません。
エラー:
W: リポジトリ ' http://ppa.launchpad.net/docky-core/ppa/ubuntu Xenial Release' にはリリース ファイルがありません。
N: そのようなリポジトリからのデータは認証できないため、使用するのは潜在的に危険です。
N: リポジトリの作成とユーザー構成の詳細については、apt-secure(8) マンページを参照してください。
E: http://ppa.launchpad.net/docky-core/ppa/ubuntu/dists/xenial/main/binary-amd64/Packages 404 Not Found
E: 一部のインデックス ファイルのダウンロードに失敗しました。それらは無視されているか、代わりに古いものが使用されています。
手動でサイトのリポジトリに入ろうとすると、XENIAL ドライバーへのすべてのリンクがダウンしていることがわかりました。実際には、Xenial フォルダー全体が欠落しています。
また、このメッセージを無視するのは良い考えだと思いましたが、Ubuntuでエプソンスキャナーを実行するにはEpwokaドライバーが必要であり、それ自体が問題です. それとは別に、Epson Perfection V600 は未テストとしてマークされているため、PyInsane lib によって制御できるようになるかどうかは不明です。
Windows の使用
USBハブを購入してこのスレッドのように制御しようと思ったのですが、Windowsではできないようです。
libsub、usb.util、libusb1、USB(コア機能用)、およびusb1をすでにインストールしていますが、特定のUSBポートを無効にして再度有効にする方法がわかりません(不可能だと思います)。
ドライバーを無効にすることはできません。無効にすると、スキャナーに接続するためにすべての USBがダウンすることになります。
どのデバイスがどれであるかがわからないため、デバイスマネージャーは役に立ちません。
スキャナーの名前は変更できません (はい、プリンターには特定の名前を付けることができます) が、スキャナーは変更できません。
別のスキャナーを購入することはできません。エプソンで立ち往生しています。
スキャン用の私のコード
各スキャナー内に付箋を入れます.1つは「a」、もう1つは「b」で、常に最初に接続したスキャナーでスキャンし
ます: .
これは、Pythonで試したときに得られるものです:
どんな解決策も私を助けてくれます、創造的になりましょう!.bat ファイルを使用して特定のポートを無効にし、Python で呼び出すことを考えていました。しかし、私はそれを作る方法を見つけることができませんでした.20時間から40時間の連続画像取得のため、手動で行うことはオプションではないことに注意してください.
ありがとう!
〜ディエゴ