opencv2.3.1版本的AVI视频播放程序怎么写,求高手指点,跪谢!!!

opencv2.3.1版本的AVI视频播放程序怎么写,求高手指点,跪谢!!!,第1张

假设你已经配置好OpenCV的开旁庆发环境。

以下是新版OpenCV风格的代码薯仿,经测试可运行。

#include "stdafx.h"

#include "opencv.hpp"

using namespace cv

int main(int argc, char** argv)

{

VideoCapture cap // 用数启纤于打开视频的类

Mat frame // 保存视频帧图像

char c = NULL

cap.open("D:\\test.avi") // 假设你的avi文件在此路径下

while (cap.isOpened())

{

cap >>frame

imshow("frame", frame)

c = waitKey(50) // 每50ms播放一帧,按Esc退出

if (c == 27)

break

}

destroyAllWindows()

cap.release()

return 0

}

热门频道

首页

博客

研修院

VIP

APP

问答

下载

社区

推荐频道

活动

招聘

专题

打开CSDN APP

Copyright © 1999-2020, CSDN.NET, All Rights Reserved

音视频

打开APP

视频通信系统 原创

2021-12-30 15:44:29

1点赞

lumos鱼小小

码龄2年

关注

一、作业分析

作业目的:增强特色模块、 联合各模块形成一个系统,完成完整的实验报告(可以直接包含分报告内容)。

实现思路:在前面的作业中,我实现了

①播放YUV文件

②视频处理mp4文件,对视频文件进行人脸识别

③实时采集视频文件为mp4格式

④对视频文件进行编码,解码,即将yuv文件和h264文件纳庆瞎差滑进行相互转换

⑤用rtp协议发送并接收视频文件,实现视频传输。

在本次作业中,将增强特色模块视频处理,将人脸识别和伽马变换结合起来,使视频中人脸被识别的同时改变视频的明暗对比度。并将各模块分别封装成一个函数,在主程序中逐个调用,形成一个系统。过程将在两个vs文件中完成,一个文件负责发送部分,一个文件负责接收部分。在发送部分,我将其分为主要视频采集,视频处理,视频编码,视频发送几个部分。在接收部分,我将其主要分为视频接收,视频解码,视频播放几个部分。在每一部分,将之前作业中实现的功能的单独的模块进行封装,并在此基础上增加一些模块使其可以构成一个完洞空整的系统。

实现环境:ffmpeg,SDL,opencv

二、原理

2.1.视频采集

视频采集(Video Capture)把模拟视频转换成数字视频,并按数字视频文件的格式保存下来。所谓视频采集就是将模拟摄像机、录像机、LD视盘机、电视机输出的视频信号,通过专用的模拟、数字转换设备,转换为二进制数字信息的过程。

cv::VideoWriter::VideoWriter( const String &filename,int apiPreference,int fourcc,double fps,Size frameSize,bool isColor = true )

2.2.视频处理

2.2.1伽马变换进行图像增强

基于幂次变换的Gamma校正[3]是图像处理中一种非常重要的非线性变换,通常Gamma校正长应用于拓展暗调的细节。伽马变

还是我来告诉你吧!当然可以,c++是跨平台的,,c++可以用boost,但是得在linux下边重新编译,而stl这个东西厅宽可以碰伏腔直接笑衫用的。你可以在linux下边找到stl的库函数的。

boost编译完了,得把相应的so加到g++路径或者env变量路径里面。。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12241794.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存