Flutter yuv a rgb

1. Haga referencia a la biblioteca yuv_converter

        

yuv_converter: ^0.0.1

2. Importe el archivo de encabezado:

        

import 'package:yuv_converter/yuv_converter.dart';

3. yuv a rgb

        

YuvConverter.yuv420NV21ToRgba8888(yuvRawData, 512, 512)

Elija diferentes API según el formato yuv.

Por ejemplo:

void initState() {
    super.initState() ;
    loadAssetAsUint8List("assets/yuv/1_uyvy.yuv").then((yuvRawData){
      rgbga1 = YuvConverter.yuv422uyvyToRgba8888(yuvRawData, 512, 512) ;
      setState(() {

      });
    }) ;

    loadAssetAsUint8List("assets/yuv/1_nv21.yuv").then((yuvRawData){
      rgbga2 = YuvConverter.yuv420NV21ToRgba8888(yuvRawData, 512, 512) ;
      setState(() {

      });
    }) ;
  }

  Future<Uint8List> loadAssetAsUint8List(String assetPath) async {
    // 使用rootBundle加载assets中的文件
    final ByteData data = await rootBundle.load(assetPath);

    // 将ByteData转换为Uint8List
    final Uint8List uint8List = data.buffer.asUint8List();

    return uint8List;
  }

github:

https://github.com/menshen/flutter_yuv_converter

Guess you like

Origin blog.csdn.net/mldxs/article/details/132690099