[Agisoft Metashape使用心得] 安裝和使用MS獨立Python模塊


關鍵詞: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)。但即使這樣,依然有非常多的不便之處,不適合較長代碼的調試工作

圖1. Metashape中的ipython代碼寫作與調試
圖1. Metashape中的ipython代碼寫作與調試

2. Metashape的獨立python模塊

一次偶然的時間,我在網上發現,Metashape其實提供了一個stand-alone python 模塊(下載)即類似於Numpy之類的,可以獨立地使用(圖2)。那如果安裝上這個模塊,我就不必非得在Metashape客戶端調試代碼了,直接在任意python IDE中(比如 pycharm)中調試就好了。

圖2. 官網提供的安裝Metashape獨立模python模塊的流程
圖2. 官網提供的安裝Metashape獨立模python模塊的流程

我大致按照這個流程操作,竟然失敗了,后面發現其中有兩個重要的坑,提醒大家注意:

    1. 目前僅僅支持 python 3.5, 3.6, 3.7, 3.8,不支持 python 3.9哦,因為下載的python 3.9所以總是報錯,后來注意到 .whl文件名才意識到這個問題。建議大家安裝 python 3.8
    1. 我用的是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)。

看來,我不得不購買一個激活碼了!哎,人窮志氣短,想辦法籌錢去了。

圖3. 導入Metashape獨立模塊時要求激活
圖3. 導入Metashape獨立模塊時要求激活
圖4. 激活碼已使用
圖4. 激活碼已使用
圖5. 激活碼無效
圖5. 激活碼無效

如果后面搞成功了,再來更新吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM