Flutter yuv 转 rgb

1、引用yuv_converter库

复制代码
yuv_converter: ^0.0.1

2、导入头文件:

复制代码
import 'package:yuv_converter/yuv_converter.dart';

3、yuv转rgb

复制代码
YuvConverter.yuv420NV21ToRgba8888(yuvRawData, 512, 512)

根据yuv格式选择不同的api。

举个例子:

复制代码
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

相关推荐
liulian09162 小时前
Flutter for OpenHarmony 跨平台开发:单位转换功能实战指南
flutter
千码君20162 小时前
Trae:一些关于flutter和 go前后端开发构建的分享
android·flutter·gradle·android-studio·trae·vibe code
maaath4 小时前
【maaath】Flutter for OpenHarmony 手表配饰应用实战开发
flutter·华为·harmonyos
maaath5 小时前
【maaath】Flutter for OpenHarmony 跨平台计算器应用开发实践
flutter·华为·harmonyos
maaath10 小时前
【maaath】Flutter for OpenHarmony 闹钟时钟应用开发实战
flutter·华为·harmonyos
maaath10 小时前
【maaath】Flutter for OpenHarmony 短信管理应用实战
flutter·华为·harmonyos
maaath11 小时前
【maaath】Flutter for OpenHarmony打造跨平台便签备忘录应用
flutter·华为·harmonyos
千码君201611 小时前
flutter:与Android Studio模拟器的调试分享
android·flutter
xmdy586612 小时前
Flutter+开源鸿蒙实战|智联邻里Day8 Lottie动画集成+url_launcher跳转拨号+个人中心完善+全局UI统一
flutter·开源·harmonyos
liulian091620 小时前
Flutter for OpenHarmony 跨平台开发:颜色选择器功能实战指南
flutter