ffmpeg 解码 到 opencv 之间传递
来源:互联网 发布:excel剔除异常数据 编辑:程序博客网 时间:2024/06/07 13:47
项目中需要用ffmpeg解码,并且将解码后的视频传入opencv。通过查找相关资料进行快速学习实现了这个需求。现进行简单的记录和分享。
ffmpeg 解码函数:len = avcodec_decode_video2(pInputCodecContext, dst, &nComplete, &InPack); dst 为 AVFrame *dst,存放了解码后的数据。解码后存入dst的视频是yuv420格式。dst->data[0],dst->data[1],dst->data[2] 中分别存了 yuv的数据。dst->width*dst->height 是原始视频的分辨率。
opencv 结构体 Mat frame, frame=frame.create(dst->height*1.5, dst->width, CV_8UC1); 用frame存储 yuv420 的数据, yuv 需要申请的内存大小为dst->width*dst->height *1.5
memcpy(frame.data,dst->data[0], dst->width*dst->height); 存入 y
memcpy(frame.data+640*480,dst->data[1], dst->width*dst->height/4); 存入 u
memcpy(frame.data+640*480*5/4,dst->data[2], dst->width*dst->height/4); 存入 v
这样解码后的yuv420 数据就存入了opencv中。可添加
cv::cvtColor(frame, rgbImg,CV_YUV2BGR_I420); //yuv转成rgb
if(frame.empty())break;
imshow("frame",rgbImg);
waitKey(1); 显示解码后的视频
- ffmpeg 解码 到 opencv 之间传递
- ffmpeg解码+opencv显示
- FFMpeg视频解码+OpenCV显示
- FFmpeg + Opencv 解码和显示
- ffmpeg解码+opencv显示+时间测试
- ffmpeg解码h264文件,opencv显示
- 使用ffmpeg解码音频文件到PCM格式
- FFmpeg解码视频绘制到屏幕
- 利用ffmpeg和opencv进行视频的解码播放
- FFmpeg 学习之 解码并 MFC+OpenCV 显示
- ffmpeg和Opencv结合进行视频解码播放
- ffmpeg解码数据转为Mat通过opencv函数显示
- FFmpeg解码-Opencv数据显示-双线程调度
- FFmpeg解码封装为类以及Opencv显示播放
- ffmpeg视频解码以及opencv视频播放参考
- 利用ffmpeg和opencv进行视频的解码播放
- 利用ffmpeg和opencv进行视频的解码播放
- FFmpeg解码H264裸流并转换成opencv Mat
- 第四章---SpringMVC----Controller详解
- SSH 框架中 service 里面有 sql 和 对象存储,执行顺序问题 Spring 事务提交顺序
- 网易资源提取步骤
- 【转载】五大常用算法之一:分治算法
- dll导出函数名称和系统API名字相同冲突问题
- ffmpeg 解码 到 opencv 之间传递
- Adnroid上的简单图像合成类——PorterDuffXfermode
- 性能调优攻略
- Unity3D学习之使用摄像机制作实时显示小地图
- Library not loaded: /Developer/Library/Frameworks/SenTestingKit.framework/SenTestingKit
- 树形结构的数据库表Schema设计 .
- Web服务器工作原理概述
- csv 导出
- 从一个ViewController切换到另一个ViewController有下面几种方法: