Mapillary命令行图像上载程序

mapillary-tools的Python项目详细描述


用于将离散图像上载到Mapillary的命令行工具。 不支持视频。在

重写

这是对官方地图工具的一部分重写: https://github.com/mapillary/mapillary_tools

官方的Mapillary工具被破坏了,因为python2已经死了。少校 发行版已经从标准安装中删除了python2。 2018年5月,有人要求提供一个官方的Python 3端口,但没有 到目前为止。在

快速浏览一下官方代码,就会发现它不值得移植。 很明显,这段代码是由许多不同的人编写的 了解Python,然后把管道粘在一起,让它看起来像一条 应用程序。它还引入了太多的依赖关系,比如一个完整的图像 操纵库,2个不同的Exif库(其中一个是自定义补丁) 还有一个高级密钥库。在

重写的代码使用python3和一些外部库。在

此代码不会更改图像文件,也不会复制它们。 所有数据和内务管理信息都保存在一个小文件中 每个图像。这使您的磁盘更精简,备份更小。侧车档案 包含JSON,因此调试很容易。在

使用

  1. 安装:

    pip install mapillary-tools
    
  2. 授权:这将提示您输入Mapillary密码:

    ^{pr2}$

    这一步只需要一次。您的凭据现在存储在文件中 ~/.config/mapillary/configs/<CLIENT_ID>。对这个文件保密。 Mapillary凭据未过期。在

  3. 预处理图像:

    mapillary_process.py ~/Pictures/Mapillary/*.jpg
    

    这一步从你的图像中提取GPS数据并将其存储在sidecar文件中。在

  4. 上传图片:

    mapillary_upload.py ~/Pictures/Mapillary/*.jpg
    

    脚本会记住哪些图像已成功上载。如果你运行 在相同的图片上再次上传脚本,已经上传的图片将不再上传 再次上传。在

  5. 清理:

    mapillary_process.py --clean ~/Pictures/Mapillary/*.jpg
    

    删除所有侧车文件。注意:这将清除所有关于 已上载的文件。在

使用“-h”运行脚本以查看更多选项。在

视频

此软件不支持视频。在

要将视频文件拆分为图像,请使用ffmpeg,然后使用exiftool设置exif 时间戳。在

建议的工作流程:

mkdir -p /tmp/frames
# extract I-frames for better clarity
ffmpeg -i ~/Videos/dash.mp4 -vf "select='eq(pict_type,PICT_TYPE_I)'" -vsync vfr -frame_pts true /tmp/frames/%08d.jpg
# figure out the start time and frame rate
ffprobe -v quiet ~/Videos/dash.mp4 -print_format json -show_streams
# set the same start time on all files
exiftool '-AllDates=2020:01:01 00:00:00' /tmp/frames/
# increment time according to frame number
exiftool '-AllDates+<0:0:${FileName;$_=substr($_,0,8)/30}' /tmp/frames/

参见:

GPS跟踪

此软件不支持与GPS轨迹同步。在

要将图像同步到GPS轨迹,请使用exiftool。在

建议的工作流程:

exiftool -geotag=track.gpx /tmp/frames

请参见:https://exiftool.org/geotag.html

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java正则表达式输出不相同   java如何使用JSOUP获取第一个链接?   java实现Spring HATEOAS链接构建   java循环骰子模拟   静态变量上的java异常   felix scr中@Reference和@References注释之间的java差异   java将SpringMVC中的路由映射到不同文件夹路径的简单方法   java通过socket将图像从安卓发送到pc   java在OpenGL中围绕点旋转直线   MyBatis生成器中的java私有同义词   既不使用volatile也不使用局部变量的java双重检查锁定   java按显示自动切换文本视图大小   继承Java SE 7程序员I Oracle认证   在JavaSwing中一行显示Blob数据   Java数独:通用数组创建   java显示包含一个属性的对象数组列表,该属性的值高于某个值   x509certificate如何获取服务器证书链,然后在Java中验证其有效性和受信任性   java与HikariCP的并发性   是否有使用Scala或Java编辑MP4元数据的库?   netbeans Java读取不同类型的图像格式jpg、tif、gif、png