我以前使用过 gphoto2(2.5.20,在 RPi 上),并且能够从命令行完成基础操作:
/usr/bin/gphoto2 --capture-image-and-download --filename=zzz.jpg --force-overwrite
/usr/bin/gphoto2 --capture-preview --filename=zzz.jpg --force-overwrite
后者捕获的预览图像要小得多,并且对于某些应用程序来说很棒;您基本上可以用数码单反相机制作网络摄像头。
但是,在为 python 安装 gphoto2 库之后,这(应该是等效的)失败:
import gphoto2 as gp
camera = gp.Camera()
camera.init()
file_path = camera.capture(gp.GP_OPERATION_CAPTURE_PREVIEW)
带有消息“gphoto2.GPhoto2Error:[-6] 不支持的操作”
如果你选择
file_path = camera.capture(gp.GP_CAPTURE_IMAGE)
但是,这行得通。为什么我们可以从命令行而不是 Python 版本中获得工作预览的任何原因?
gp.__version__
返回 2.2.2 ,并匹配https://github.com/jim-easterbrook/python-gphoto2上的最新版本