当前位置: 首页 > news >正文

湖南网站推广建设公司龙海市邦策网站建设平台

湖南网站推广建设公司,龙海市邦策网站建设平台,效果图网站推荐大全,在线购物商城文章目录 一、加载与显示二、保存 一、加载与显示 视频或摄像头的加载是使用 cv::VideoCapture 类。#xff08;这个类和 ifstream 类比较相似#xff0c;视频或摄像头的加载和文本文件操作是大致相同。主要步骤#xff1a;#xff08;1#xff09;加载#xff08;打开这个类和 ifstream 类比较相似视频或摄像头的加载和文本文件操作是大致相同。主要步骤1加载打开视频或视像头。2 判断加载是否成功。 3读取内容。4关闭。 注意   1VideoCapture类变量同时提供了可以查看视频属性的 get()函数 通过输入指定的标志来获取视频属性例如视频的像素尺寸、帧数、帧率等。   2在读取内容每一帧图片时和ifstream一样同样有多种方式如通过“”运算符或使用read成员函数等。但注意要使用 Mat类 来定义buffer。   3当VideoCapture类变量中所有的图像都赋值给Mat类变量后再次赋值的时候就是赋空值故Mat类变量会变为空矩阵因此可以通过 empty() 判断VideoCapture类变量中是否所有图像都已经读取完毕。   4视频其实是每一帧图像的组成所以显示也是连续显示每一帧图像同样使用 imshow函数 代码如下示例 #include opencv2/opencv.hpp #includeiostream using namespace std;int main() {// 和文本文件一样两种打开方式成员函数open和默认构造函数//cv::VideoCapture capVideo;//capVideo.open(C:/Users/Opencv/temp/123.mp4);cv::VideoCapture capVideo(C:/Users/Opencv/temp/123.mp4);// 打开摄像头第一个参数为要打开的摄像头设备的IDID的命名方式从0开始。// cv::VideoCapture capVideo(0); // 打开第一个摄像头if (!capVideo.isOpened()){cout 打开视频失败 endl;return -1;}cout 视频中图像的宽度 capVideo.get(cv::CAP_PROP_FRAME_WIDTH) endl;cout 视频中图像的高度 capVideo.get(cv::CAP_PROP_FRAME_HEIGHT) endl;cout 视频帧率 capVideo.get(cv::CAP_PROP_FPS) endl;cout 视频的总帧数 capVideo.get(cv::CAP_PROP_FRAME_COUNT);cv::Mat buffer;while (1) {capVideo buffer;if (buffer.empty()){break;}cv::imshow(video, buffer);//char key cv::waitKey(1000 / capVideo.get(cv::CAP_PROP_FPS)); // 按源视频的帧率char key cv::waitKey(30); // 每帧延迟30毫秒。由此可设置快放或慢放if (key q || key 27){break;} }capVideo.release(); //释放对象cv::destroyAllWindows();二、保存 1OpenCV中提供了 VideoWrite()类 用于实现多张图像保存成视频文件。该类的构造函数参数如下 cv::VideoWriter output(filename int fourcc double fps Size frameSize bool isColortrue)filename:保存视频的具体路径包含视频格式 fourcc压缩帧的4字符编解码器代码。如JPEG编码(M,J,P,G)但这个效果一般。常用的H.264 编码格式(H, 2, 6, 4)等。注赋值“-1”则会自动搜索合适的编解码器 fps保存视频的帧率即视频中每秒图像的张数。可实现原视频二倍速播放、原视频慢动作播放等 frameSize视频帧的尺寸。通常在设置时要与图像的尺寸相同不然无法保存视频 isColor保存视频是否为彩色视频缺省为彩色2VideoWrite()和VideoCapture()一样都可以通过isOpened()函数判断是否成功创建一个视频流可以通过get()查看视频流中的各种属性。   3在保存视频时我们只需要将生成视频的图像一帧一帧通过“”操作符或者write()函数赋值给视频流即可最后使用release()关闭视频流。 代码如下示例 #include opencv2/opencv.hpp #includeiostream using namespace std;int main() {cv::VideoCapture capVideo(C:/Users/Opencv/temp/123.mp4);// cv::VideoCapture capVideo;// capVideo.open(C:/Users/Opencv/temp/123.mp4);if (!capVideo.isOpened()){cout 打开视频失败 endl;return -1;}cout 视频中图像的宽度 capVideo.get(cv::CAP_PROP_FRAME_WIDTH) endl;cout 视频中图像的高度 capVideo.get(cv::CAP_PROP_FRAME_HEIGHT) endl;cout 视频帧率 capVideo.get(cv::CAP_PROP_FPS) endl;cout 视频的总帧数 capVideo.get(cv::CAP_PROP_FRAME_COUNT);int width static_castint(capVideo.get(cv::CAP_PROP_FRAME_WIDTH));int height static_castint(capVideo.get(cv::CAP_PROP_FRAME_HEIGHT));// cv::VideoWriter output(C:/Users/Opencv/temp/321.mp4, cv::VideoWriter::fourcc(M, J, P, G), 25, cv::Size(width,height), true);cv::VideoWriter output(C:/Users/Opencv/temp/32331.mp4, cv::VideoWriter::fourcc(H, 2, 6, 4), 25, cv::Size(width, height), true);if (!output.isOpened()) {// 处理无法创建输出视频文件的情况return -1;}cv::Mat buffer;while (capVideo.read(buffer)) {// 可用一些方法对每一帧图片进行处理output.write(buffer); // 再将当前帧写入输出视频//output buffer;cv::imshow(show,buffer);char key cv::waitKey(1000 / capVideo.get(cv::CAP_PROP_FPS)); // 按源视频的帧率if (key q || key 27){break;}}capVideo.release(); //释放对象cv::destroyAllWindows();return 0; }
http://www.sczhlp.com/news/215040/

相关文章:

  • 企业网站营销推广方案论坛网站模
  • wordpress自助友链网站排名优化电话
  • 珠海网站制作专业html 单页网站
  • 山西做网站价格360神搜网站建设
  • 网站开发和室内制作河南郑州新闻
  • 国内阿里巴巴网站怎么做中企动力做的保安服务网站
  • 常用的网站类型有哪些类型有哪些外贸多语言网站免费源码
  • 织梦网站建设培训班广告公司宣传册
  • 企业网站制作前期需要什么资料做企业网站
  • 做网站用什么服务器好新浪wordpress
  • 公司建设网站制作用asp做的网站
  • 商品网站建设方案动漫网站建设方案策划书
  • 龙岩建设局招聘网站云南网站开发公司介绍
  • 国外网站内容去哪些平台做做软件外包的网站
  • 我想网站建设泉州网站建设报价
  • 怎么看网站的建设时间衡阳广告设计公司
  • 商城建站报价方案江西中恒建设集团有限公司网站
  • 移动端网站开发项目建设项目公示网
  • 手机网站优化怎么做wordpress无法修改
  • 电影网站源码怎么做的什么网站可以做excel表格
  • 光谷网站制作重庆市公司网站备案在哪了
  • 网站慢的原因博乐建设工程信息网站
  • 合肥网站建设 卫来网络在线定制网站官网
  • 福州贸易公司网站制作西宁做网站君博相约
  • 现在网站尺寸wordpress云服务器安装教程
  • 值得关注的网站网络服务遇到问题 小爱音箱
  • 广州做网站哪里有怎样做seo网站链接
  • 下载网站模板后本地的网站会自动做跳转软件开发者简称
  • 比较好的网站开发团队白鹭引擎做网站
  • 中国关键词网站网站建设工期时间表