關鍵詞:Agisoft Metashape PhotoScan Python module 庫 日期:4/6/2021 - 5/6/2021
1. Metashape腳本在客戶端中調試很費勁
用Agisoft Metashape (原名PhotoScan)好多年了,一開始只是各種界面操作,后來慢慢地用到了它的API,自己寫腳本實現某項功能。然而,一直困擾我的一個問題是:
如何方便地在Metashape中調試腳本?
以前每次都在
Sublime中寫代碼,然后用Metashape中的run script工具運行代碼,只要報錯,就很難調試,因為沒有設置斷點的功能,導致我每次都要各種print(),一點一點的分析;很多時候也采用直接在
console中直接粘貼代碼,分析哪里可能出錯。但一方面得保證語句的縮進格式,另一方面不得不一行一行地粘貼和運行;后來發現Metashape其實集成了
Ipython模塊,在Tools-Preference-Advanced中勾選enable rich python console即可(圖1)。但即使這樣,依然有非常多的不便之處,不適合較長代碼的調試工作
2. Metashape的獨立python模塊
一次偶然的時間,我在網上發現,Metashape其實提供了一個
stand-alonepython 模塊(下載)即類似於Numpy之類的,可以獨立地使用(圖2)。那如果安裝上這個模塊,我就不必非得在Metashape客戶端調試代碼了,直接在任意python IDE中(比如 pycharm)中調試就好了。
我大致按照這個流程操作,竟然失敗了,后面發現其中有兩個重要的坑,提醒大家注意:
目前僅僅支持 python 3.5, 3.6, 3.7, 3.8,不支持python 3.9哦,因為下載的python 3.9所以總是報錯,后來注意到.whl文件名才意識到這個問題。建議大家安裝python 3.8;
我用的是Windows系統,但是在運行 python3.exe -m pip install Metashape-1.7.1-cp35.cp36.cp37.cp38-none-win_amd64.whl這句話時沒有反應。經查看python安裝目錄后發現,並沒有python3.exe,所以應當采用python.exe替代。避免這兩個坑之后,應該就能安裝成功了。
可以檢查一下Python的安裝目錄下的
...\Python\Python38\Lib\site-packages,是否有Metashape文件夾及相應文件存在。
但是,安裝成功並不代表能用!因為還需要進行激活,通過
import Metashape.Metashape as Metashape語句測試發現,尚無license key(圖3),畢竟這是一個商業軟件,人家是要賺錢的。所以需要采用語句
Metashape.License().activate("AAAAA-BBBBB-CCCCC-DDDDD-EEEEE")進行激活。我采用以前購買的Photoscan的激活碼進行激活,卻被報告已被使用(圖4);而使用網上找的激活碼激活,卻被報告無效圖5)。看來,我不得不購買一個激活碼了!哎,人窮志氣短,想辦法籌錢去了。
如果后面搞成功了,再來更新吧。
