M300 使用H20T双光相机拍照,一次拍照可以获取两张照片,一张可见光一张红外。我怎么能把两张照片的MediaF...

Completed

Comments

9 comments

  • DJI Developer Support
    mediaFile的getfileName可以获取到文件名称,例如DJI_时间_001_T.jpg。这里的001指的是这个时间拍摄的第几组照片,因此可以通过这个分辨哪两张可见光和红外光为一组。如果是要添加上可以表示拍摄目标的属性,可以通过setCustomExpandFileName添加自定义后缀。
    0
    Comment actions Permalink
  • DJI Developer Support
    意思也就是说 通过 getFileName 然后 equals就可以实现是么
    0
    Comment actions Permalink
  • DJI Developer Support
    通过getFileName可以判断那几张照片为一组。例如一张照片的名称为DJI_20220606185911_001_T.jpg。这是可以通过名称的前三个部分,即DJI_20220606185911_001去与其他照片比对找到为同一组的照片。 如果要在照片名称上添加自定义信息,例如DJI_20220606185911_001_T_waypoint1.jpg,waypoint1就是自定义字段,可以通过这个字段存储一些用于区别照片的信息。 DJI_20220606185911_001_T.jpg,这里的T指的是thermal,即热成像镜头,其他镜头也有自己的后缀名。
    0
    Comment actions Permalink
  • DJI Developer Support
    经实际测试,DJI_20220606185911_001_T.jpg 这个文件 只有 DJI_20220606 和 最后的 001 是可靠的。 后面的是 十分秒数值,都不准确,有可能会有1秒的偏差。而且比较频繁。 所以只能精确到天。但是如果当天用户格式化过sd卡后,就完全无法判断了。 有没有其他的方式去判断。
    0
    Comment actions Permalink
  • DJI Developer Support
    一张照片的唯一标识是index。如果是判断这几张照片为一组,目前只能通过名称来判断,即通过事件+组别来区别。你可以将名称和index结合起来存储,这样就可以标识出唯一的一组照片。
    0
    Comment actions Permalink
  • DJI Developer Support
    index不行,同一张照片的红外 和 可见光 的MediaFile index属性不一致。 只能以文件名来区分。 而且 文件名是一个时间戳,时间戳前后目前测试是有1秒的差异
    0
    Comment actions Permalink
  • DJI Developer Support
    目前只有只能通过这两个属性来区别照片。 这1秒的差异会影响到什么吗?关于您提到的格式化SD卡之后,只使用年月日+组名会导致重复。这一点可以先通过年月日+组名判断出这是一组照片,然后您可以拿到这个一组照片的index再封装成唯一的对象。这样就可以实现是唯一的一组,且照片里的index也可以唯一标识一张照片。
    0
    Comment actions Permalink
  • DJI Developer Support
    好的 我这边在处理吧。
    0
    Comment actions Permalink
  • DJI Developer Support
    如果要做到唯一一组照片,且每张照片唯一目前应该只能自己再封装一下,因为MSDK没有一组照片的唯一实体,只设置了照片为唯一实体。
    0
    Comment actions Permalink

Please sign in to leave a comment.