これは私の最初の投稿であり、より具体的であるほど良いことがわかったので、非常に明確にしようと思います。事前に感謝します!
必要なもの:
同時に 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がダウンすることになります。
どのデバイスがどれであるかがわからないため、デバイスマネージャーは役に立ちません。
スキャナーの名前は変更できません (はい、プリンターには特定の名前を付けることができます) が、スキャナーは変更できません。
別のスキャナーを購入することはできません。エプソンで立ち往生しています。
スキャン用の私のコード
import pyinsane2
def Scan(Device, dpi):
pyinsane2.init()
try:
pyinsane2.set_scanner_opt(Device, 'resolution', [dpi])
pyinsane2.set_scanner_opt(Device, 'mode', ['Color'])
pyinsane2.maximize_scan_area(Device)
scan_session = Device.scan(multiple=False)
try:
while True:
scan_session.scan.read()
except EOFError:
pass
Image = scan_session.images[-1]
finally:
pyinsane2.exit()
return(Image)
devices = pyinsane2.get_devices()
image_a = Scan(devices[0], 75)
image_b = Scan(devices[1], 75)
a = devices[1]
b = devices[0]
a == b #Different
a.dev_type == b.dev_type
a.model == b.model
a.name == b.name #Different
a.nice_name == b.nice_name
a.options == b.options
a.reload_options == b.reload_options #Different
a.scan == b.scan #Different
a.srcs == b.srcs #Different
a.vendor == b.vendor
各スキャナー内に付箋を入れます.1つは「a」、もう1つは「b」で、常に最初に接続したスキャナーでスキャンし
ます: .
これは、Pythonで試したときに得られるものです:
どんな解決策も私を助けてくれます、創造的になりましょう!.bat ファイルを使用して特定のポートを無効にし、Python で呼び出すことを考えていました。しかし、私はそれを作る方法を見つけることができませんでした.20時間から40時間の連続画像取得のため、手動で行うことはオプションではないことに注意してください.
ありがとう!
〜ディエゴ