亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python 中的 gphoto2 與命令行;無法在 Python 中捕獲預覽

Python 中的 gphoto2 與命令行;無法在 Python 中捕獲預覽

慕俠2389804 2022-11-09 17:22:22
我以前使用過 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 gpcamera = 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上的最新版本
查看完整描述

2 回答

?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

看看 gphoto2 程序源。您可能能夠找出--capture-preview命令調用的 libgphoto2 函數的序列。然后,您應該能夠在 Python 中重現它。



查看完整回答
反對 回復 2022-11-09
?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

我深入研究了 libgphoto2 源代碼。我擁有的相機屬于 PTP 世界;我相信這是在camlibs/ptp2/library.c 中,camera_capture_preview 函數所在的位置。尼康和索尼的 Python 代碼都失敗了。代碼中似乎確實有兩件事指出了可能的問題;在尼康部分,它會嘗試20次以獲得預覽;在索尼部分,有關于時間的評論。但是,命令行有效,因此問題可能不存在。

我也查看了 Python 中的 gphoto2 實現。好消息是https://github.com/jim-easterbrook/python-gphoto2/blob/master/examples/preview-image.py的代碼可以工作,所以如果有人想用 Python 做這個,他們可以替換這

file_path = camera.capture(gp.GP_OPERATION_CAPTURE_PREVIEW) 行

與那里的代碼。

請注意,這適用于帶有 gphoto2 (2.5.20) 的 rPi;在 Ubuntu 16.04 LTS 系統上,此操作失?。╣photo2 為 2.5.9)。


查看完整回答
反對 回復 2022-11-09
  • 2 回答
  • 0 關注
  • 329 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號