ネットワーク上のRaspberry PiでSSH経由でWebカメラを利用する時に、サンプル通りにproc.init(device)
としてしまうと、画面表示が出来ないためエラーが発生する。
proc.init(device)
zbar.SystemError: ERROR: zbar processor in zbar_processor_init():
system error: spawning input thread: Invalid argument (22)
SSHに-X
オプションを付けると大丈夫だけれど、そもそもアプリケーションとして画面表示が必要ないことも多いので、そういう場合の対処方法のメモ。
import zbar
proc = zbar.Processor()
device = '/dev/video0'
proc.init(device, False)
この記事によると、ドキュメントには載っていないものの、Processorの初期化にデバイス名と、Falseを与えてあげればいいとのこと。