相关疑难解决方法(0)

在Android上旋转YUV字节数组

我正在寻找旋转从预览Callblack收到的YUV帧预览,到目前为止我已经创建了这个帖子,其中包含一个算法来旋转帧预览,但是正在弄乱预览图像 相机像素旋转

旋转图像的另一种方法是从YUV图像中创建一个jpg,创建一个位图,旋转一个位图并获得位图的字节数组,但我真的需要YUV格式(NV21).

仅供参考.我问这个的原因是因为我有一个支持旋转的相机应用程序,但框架预览仅以横向模式返回.

android bytearray rotation yuv

22
推荐指数
2
解决办法
2万
查看次数

相机像素旋转

我想对从相机获得的像素进行一些图像处理.

问题是来自相机的像素旋转了90度.

我得到方法内的像素 onPreviewFrame(byte[] data, Camera camera)

我试过camera.setDisplayOrientation(90);,它以正确的方向显示视频,但我仍然收到文档中所述的旋转像素:

这不会影响在Android.Hardware.Camera.IPreviewCallback.OnPreviewFrame(Byte [],Android.Hardware.Camera),JPEG图片或录制的视频中传递的字节数组的顺序.

我也尝试过:

parameters.setRotation(90);
camera.setParameters(parameters);
Run Code Online (Sandbox Code Playgroud)

但那没用.

我正在使用android 2.2

在此输入图像描述

顶部图像显示使用时的SurfaceView camera.setDisplayOrientation(90);

第二个图像onPreviewFrame(byte[] data, Camera camera)data数组中获取.如您所见,data阵列旋转.

android image-processing android-camera

12
推荐指数
2
解决办法
1万
查看次数

如何在 onImageAvailable (android Camera2) 中从前置摄像头肖像模式转换和旋转原始 NV21 阵列图像 (android.media.Image)?

注意:我帖子中的所有信息仅适用于 Samsung Galaxy S7 设备。我不知道模拟器和其他设备的行为如何。

在 onImageAvailable 中,我将每个图像连续转换为 NV21 字节数组,并将其转发到需要原始 NV21 格式的 API。

这是我初始化图像读取器并接收图像的方式:

private void openCamera() {
    ...
    mImageReader = ImageReader.newInstance(WIDTH, HEIGHT,
            ImageFormat.YUV_420_888, 1); // only 1 for best performance
    mImageReader.setOnImageAvailableListener(
    mOnImageAvailableListener, mBackgroundHandler);
    ...
}

private final ImageReader.OnImageAvailableListener mOnImageAvailableListener
        = new ImageReader.OnImageAvailableListener() {

    @Override
    public void onImageAvailable(ImageReader reader) {
        Image image = reader.acquireLatestImage();
        if (image != null) {
            byte[] data = convertYUV420ToNV21_ALL_PLANES(image); // this image is turned 90 deg using front cam in portrait mode
            byte[] data_rotated = rotateNV21_working(data, …
Run Code Online (Sandbox Code Playgroud)

android portrait rotation front-camera android-camera2

5
推荐指数
1
解决办法
7650
查看次数