[Agisoft Metashape使用心得] 安装和使用MS独立Python模块

摘要:
检查python安装目录后,发现没有python3.exe,因此python。exe。因为仍然需要激活,所以使用importMetamap。MetasapeasMetasape语句的测试显示没有许可证密钥(图3)。毕竟,这是一个商业软件,人们想要赚钱。图3.导入独立于元文件的模块时需要激活图4.激活代码已被使用图5.激活代码无效。如果稍后成功,请再次更新。

关键词:Agisoft MetashapePhotoScanPython 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的安装目录下的...PythonPython38Libsite-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. 激活码无效

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

免责声明:文章转载自《[Agisoft Metashape使用心得] 安装和使用MS独立Python模块》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇nginx版本如何选择?Reactive Spring实战 -- WebFlux使用教程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python AES加密 ECB PKCS5

class AesEbc16:  # 按块的大小, 一块一块的加密, 明文和密文长度一样   def __init__(self):     self.key = b"123qweqqqwerqwer"  # 加密和解密用同一个秘钥, 长度为 每块的长度     self.mode = AES.MODE_ECB  # ECB加密模式, 也是默认的模式, 创...

在PyQt中构建 Python 菜单栏、菜单和工具栏

摘要:菜单、工具栏和状态栏是大多数GUI 应用程序的常见且重要的图形组件。您可以使用它们为您的用户提供一种快速访问应用程序选项和功能的方法。 本文分享自华为云社区《Python 和 PyQt:创建菜单、工具栏和状态栏》,作者:Yuchuan。 在使用 Python 和PyQt开发图形用户界面 (GUI)应用程序时,您将使用的一些最有用和最通用的图形元素是...

python之tkinter使用-Grid(网格)布局管理器

1 # 使用tkinter编写登录窗口 2 # Grid(网格)布局管理器会将控件放置到一个二维的表格里,主控件被分割为一系列的行和列 3 # stricky设置对齐方式,参数N/S/W/E分别表示上、下、左、右 4 # columnspan:指定控件跨越多列显示 5 # rowspan:指定控件跨越多行显示 6 # padx、pad...

Shell终端收听音乐--网易云音乐命令行版

Musicbox:网易云音乐命令行版本 高品质网易云音乐命令行版本,简洁优雅,丝般顺滑,基于Python编写。 这款命令行的客户端使用 Python 构建,以 mpg123 作为播放后端: Vim 式的流畅操作,支持快捷键绑定 支持电台、收藏等各种特色功能 支持 OS X 及各类 Linux 发行版 安装Python2.* pacman -S pytho...

Scala学习2——idea配置scala环境,scala初步学习

了解Scala 使用Java Decompiler反编译字节码到.class源文件可以看到引入Scala库的逻辑。并且: scala源文件中的HelloScala对象编译后成为了一个类,但对象本身编译后就是生成的另一个类HelloScala$类的单例对象HelloScala$.MODULE$,称之为伴生对象。 HelloScala$有一个main实例方...

2020系统综合实践 第7次实践作业 11组

目录 1.在树莓派中安装opencv库 1.1 安装依赖 1.2 下载OpenCV源码 1.3 安装pip 1.4 安装Python虚拟机 1.5 编译OpenCV 1.6 安装OpenCV 2.使用opencv和python控制树莓派的摄像头 3.利用树莓派的摄像头实现人脸识别 facerec_on_raspberry_pi.py face...