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://www.toymoban.com/news/detail-703812.html
https://github.com/menshen/flutter_yuv_converter文章来源地址https://www.toymoban.com/news/detail-703812.html
到了这里,关于Flutter yuv 转 rgb的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!