鸿蒙相机使用前置摄像头,双路预览,录像,得到的图片或视频,其图像都是横着的,且被镜像了,如何得到正常的图像 HarmonyOS 鸿蒙Next

鸿蒙相机使用前置摄像头,双路预览,录像,得到的图片或视频,其图像都是横着的,且被镜像了,如何得到正常的图像 HarmonyOS 鸿蒙Next 对于这个问题,首先考虑使用rotation旋转属性或者rotate旋转方法,旋转270度后,图像的角度会变正确,但是图像的镜像问题依然存在,即图像里的左右和实际的左右是相反的,暂时没有找到可行的解决方法,请赐教。

1 回复

更多关于鸿蒙相机使用前置摄像头,双路预览,录像,得到的图片或视频,其图像都是横着的,且被镜像了,如何得到正常的图像 HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在鸿蒙系统中,使用前置摄像头进行双路预览和录像时,图像出现横置和镜像现象是由于摄像头传感器默认输出的图像方向和前置摄像头的镜像特性导致的。要得到正常的图像,可以通过以下步骤进行处理:

  1. 图像旋转:使用鸿蒙提供的图像处理API,将图像旋转90度或270度,使其方向正确。可以使用Image模块中的旋转函数来实现。

  2. 镜像处理:对于前置摄像头的镜像效果,可以使用Image模块中的镜像函数进行水平翻转,消除镜像效果。

  3. 视频处理:对于视频流,可以在每一帧上应用相同的旋转和镜像处理,确保视频输出正常。

具体代码示例如下:

import image from '@ohos.multimedia.image';
import media from '@ohos.multimedia.media';

// 假设获取到的图像为imageSource
let imageSource = ...; // 获取图像源

// 旋转图像90度
let rotatedImage = image.rotate(imageSource, 90);

// 水平镜像处理
let mirroredImage = image.mirror(rotatedImage, true);

// 处理后的图像即为正常图像
回到顶部