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

相关推荐
●VON8 小时前
鸿蒙Flutter实战:分类管理页BottomSheet CRUD
数据库·flutter·华为·harmonyos·鸿蒙
woodWu12 小时前
Flutter 复杂拖拽排序实战:同源排序 + 跨容器拖拽完整落地
flutter
小小小小小鹿12 小时前
Vibe Coding 实战:Flutter 自定义路径布局
flutter·vibecoding
程序员老刘15 小时前
Dart 3.12 更新要点:乏善可陈
flutter·ai编程·dart
●VON16 小时前
鸿蒙Flutter实战:水平滑动分类标签筛选栏
flutter·华为·harmonyos
●VON18 小时前
鸿蒙Flutter实战:24小时新建标签提示组件
android·flutter·华为·harmonyos·鸿蒙
●VON18 小时前
鸿蒙Flutter实战:MultiProvider多状态管理架构实践
flutter·华为·架构·harmonyos·鸿蒙
●VON20 小时前
鸿蒙Flutter实战:放弃sqflite选纯Dart JSON文件存储
flutter·华为·json·harmonyos·鸿蒙
J船长20 小时前
把该死的Provider再讲一遍
flutter