关于Mavic2Enterprise获取FOV的问题
已完成根据github上下载下来的sample代码
LookAtMissionView.java
if (DJISDKManager.getInstance() != null) {
BaseProduct product = DJISDKManager.getInstance().getProduct();
if (product != null) {
if (product instanceof Aircraft) {
mCamera = ((Aircraft) product).getCameras().get(0);
} else {
mCamera = product.getCamera();
}
lenses = mCamera.getLenses();
mLens = mCamera.getLens(lensIndex);
}
}
初始化后,观察到lens为空,看了SDK文档,Lens的说明好像意思是只支持H20和M2EA?不知道有没有大佬可以确认一下是不是这个意思。
-
用的是御Mavic2行业版(变焦版,非双光版,也非进阶版)
这个SDK有几个地方难以理解,似乎有所冲突,令人困惑!
首先,官网介绍没有看到有关变焦变倍的说明,不过在发布新闻里面有提到支持2倍光学变焦和3倍数码变焦,如下图
然,调用SDK的结果如下:
camera.isOpticalZoomSupported() --> true
camera.getOpticalZoomFocalLength() --> 获取光学等效焦距可以得到24mm~144mm之间的值(6倍)
camera.isDigitalZoomSupported() --> false
camera.isHybridZoomSupported() --> true
camera.getHybridZoomFocalLength() --> 获取混合等效焦距(光学+数码)可以得到24mm~144mm之间的值(也是6倍)
头大得很!!!!!
-
你用得是M2E,它不支持Lens这个概念,直到M2EA才开始有Lens这个概念。M2E你用camera(0).setHybridZoomFocalLength去进行变焦吧,通过getHybridZoomSpec你可以查询到从getMinHybridFocalLength到getMaxOpticalFocalLength为光学变焦,从getMaxOpticalFocalLength到getMaxHybridFocalLength为数码变焦。变焦倍数公式为:https://sdk-forum.dji.net/hc/zh-cn/articles/4402489706137 -
getOpticalZoomSpec直接弃用吧,现在都是用混合变焦。在很久以前光学变焦和混合变焦还是分开调用的,现在都合并调用了,你基本接触不到分开调用的机型了。目前MSDK v4.16.2也已经是过去式了,未来我们会大力发展MSDK v5.1,建议你用更新的机型。对于FOV的技术参数解释请咨询support@dji.com,我只能回答有关SDK的技术问题。
请先登录再写评论。
评论
9 条评论