HarmonyOS 鸿蒙Next中AREngine如何获取高清图像

HarmonyOS 鸿蒙Next中AREngine如何获取高清图像 在鸿蒙4.x的ARengine中可以通过ARFrame获取高清图像

Image image = mArFrame.acquirePreviewImage(); //获取高清相片

实际调用的是ndk侧的

public Image acquirePreviewImage() {
    long var1 = this.mSession.mNativeHandle;
    long var3 = this.mNativeHandle;
    var1 = this.nativeAcquirePreviewImage(var1, var3);
    return new ARImage(var1);
}

通过这个方法可以得到1440*1080大小的图片

但是升级到鸿蒙5.1后(5.0.5(17)),ARengine中没有这个方法了,只有

AREngine_ARStatus HMS_AREngine_ARFrame_AcquireCameraImage(const AREngine_ARSession *session,
    const AREngine_ARFrame *frame, AREngine_ARImage **outImage);

得到的图片只有640*480,具体结果如下:

imageData: 394976533248, imageLength 307200, imageStride 640, imageWidth 640, imageHeight 480 format 2 timeStamp 177440137523000 imagePlaneCount 3  imagePixStride 1

请问在最新纯血鸿蒙中如何得到的高清的图片?


更多关于HarmonyOS 鸿蒙Next中AREngine如何获取高清图像的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在HarmonyOS鸿蒙Next中,使用AREngine获取高清图像需调用getCameraImage方法。该方法返回当前相机帧的Image对象,包含YUV格式数据。通过设置相机配置参数,可调整图像分辨率和帧率以获取高清输出。具体实现需结合ARFrame对象实时获取图像数据。

更多关于HarmonyOS 鸿蒙Next中AREngine如何获取高清图像的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,AREngine的高清图像获取方式已更新。建议使用ARFrame.acquireCameraImage()方法,并通过配置会话参数来提升图像分辨率。在初始化ARSession时,设置ARConfigBase.CameraConfig中的图像尺寸参数,选择设备支持的高分辨率模式(如1080p或更高)。具体实现需参考当前版本的NDK文档,确认可用配置选项及对应的分辨率输出。由于API调整,原有方法可能不再适用,请根据设备硬件能力调整参数以获取更高质量的图像。

回到顶部