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

学会了dw就可以做网站吗建网站流程

学会了dw就可以做网站吗,建网站流程,动态网站建设第05章在线测试,网络营销的定义和内容目录 引言 一、视频读取技术 VideoCapture 类 构造函数 常用方法 二、视频写入技术 VideoWriter 类 构造函数 常用方法 三、视频录制技术 1. 包含OpenCV头文件 2. 初始化VideoCapture对象 3. 设置视频编码器 4. 读取和写入视频帧 5. 释放资源 6. 编码格式选择 …

目录

引言

一、视频读取技术

VideoCapture 类

构造函数

常用方法

二、视频写入技术

VideoWriter 类

构造函数

常用方法

三、视频录制技术

1. 包含OpenCV头文件

2. 初始化VideoCapture对象

3. 设置视频编码器

4. 读取和写入视频帧

5. 释放资源

6. 编码格式选择

 四、示例代码:读写视频文件

五、总结


引言

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,广泛应用于图像和视频处理、面部识别、物体检测等多个领域。本文将详细介绍OpenCV中的视频读写技术,包括VideoCapture 和 VideoWriter 类和相关函数,并通过代码示例展示如何读取和写入视频文件。

一、视频读取技术

VideoCapture 类

cv::VideoCapture 是OpenCV中用于处理视频输入的类,它可以从摄像头、视频文件或图像序列中读取帧。以下是该类的主要方法和用法。

构造函数
  • cv::VideoCapture::VideoCapture(const string& filename): 通过文件路径打开视频文件。
  • cv::VideoCapture::VideoCapture(int device): 通过设备ID打开摄像头,默认摄像头ID为0。
常用方法
  • bool isOpened() const: 检查视频是否成功打开。
  • bool read(OutputArray image): 读取视频中的一帧,并将其存储在Mat对象中。
  • void release(): 释放VideoCapture对象所占用的资源。
  • double get(int propId): 获取视频属性,如帧率、宽度、高度等。
  • bool set(int propId, double value): 设置视频属性,如帧率、宽度、高度等。


二、视频写入技术

VideoWriter 类

cv::VideoWriter 是OpenCV中用于将图像帧序列保存为视频文件的类。在创建视频文件时,需要指定文件名、编解码器、帧率、宽度和高度等参数。

构造函数
  • cv::VideoWriter::VideoWriter(const string& filename, int fourcc, double fps, Size frameSize, bool isColor=true):
    • filename: 视频文件的名称和路径。
    • fourcc: 编解码器,如 CV_FOURCC('M','J','P','G') 表示MJPG编解码器。
    • fps: 视频的帧率。
    • frameSize: 视频帧的大小。
    • isColor: 视频图像是否为彩色(默认为true)。
常用方法
  • bool isOpened() const: 检查VideoWriter对象是否成功打开。
  • void write(InputArray image): 将一帧图像写入视频文件。
  • void release(): 释放VideoWriter对象所占用的资源。

三、视频录制技术

1. 包含OpenCV头文件

在C++源文件的开头,需要包含OpenCV的相关头文件。

#include <opencv2/opencv.hpp>  
#include <iostream>

2. 初始化VideoCapture对象

使用cv::VideoCapture类可以捕获视频数据,包括来自摄像头的实时视频。

cv::VideoCapture cap(0); // 0为默认摄像头  
if (!cap.isOpened()) {  std::cerr << "无法打开摄像头" << std::endl;  return -1;  
}

3. 设置视频编码器

在录制视频之前,需要设置视频的编码格式、帧率、分辨率等参数。

int fourcc = cv::VideoWriter::fourcc('M', 'J', 'P', 'G'); // 选择MJPG编码  
double fps = 20.0; // 帧率  
cv::Size frameSize(640, 480); // 分辨率  
cv::VideoWriter videoWriter("output.avi", fourcc, fps, frameSize, true); // 彩色模式  if (!videoWriter.isOpened()) {  std::cerr << "无法打开视频写入器" << std::endl;  return -1;  
}

4. 读取和写入视频帧

通过循环读取摄像头捕获的帧,并将它们写入到视频文件中。

cv::Mat frame;  
while (true) {  bool ret = cap.read(frame);  if (!ret) {  std::cerr << "无法读取视频帧" << std::endl;  break;  }  // 可以在这里对frame进行处理,如色彩转换、添加水印等  videoWriter.write(frame); // 写入帧到视频文件  // 显示帧(可选)  cv::imshow("Video Capture", frame);  // 按'q'键退出循环  if (cv::waitKey(1) == ord('q')) {  break;  }  
}

5. 释放资源

完成视频录制后,需要释放VideoCapture和VideoWriter对象占用的资源。

cap.release();  
videoWriter.release();  
cv::destroyAllWindows();

6. 编码格式选择

OpenCV支持多种视频编码格式,如MJPG、XVID、DIVX、X264等。不同的编码格式在文件体积、压缩效率和兼容性方面有所不同。例如,MJPG适合高尺寸视频,XVID是MPEG-4编码,文件体积较小,X264可以得到更小的文件体积但可能兼容性稍差。

 四、示例代码:读写视频文件

#include <iostream>
#include <opencv2/opencv.hpp>using namespace std;
using namespace cv;int main(int argc, char* argv[])
{// 读取原视频文件VideoCapture vcap("video.mp4");// 读取视频的帧的宽度和高度 \ 帧int fvwidth = vcap.get(CAP_PROP_FRAME_WIDTH);int fvheight = vcap.get(CAP_PROP_FRAME_HEIGHT);double fvfps = vcap.get(CAP_PROP_FPS);// 通过cout输出获取参数值cout << "宽度:" << fvwidth << endl;cout << "高度:" << fvheight << endl;cout << "帧:" << fvfps << endl;// 录制MP4视频VideoWriter vw("writermp4.mp4", vcap.get(CAP_PROP_FOURCC), fvfps, Size(fvwidth, fvheight));Mat fm;while (1){vcap.read(fm);if (fm.empty()){break;}vw.write(fm);imshow("测试:录制视频中", fm);int key = waitKey(1);if (key == 27){break;}}vcap.release();vw.release();waitKey(0);return 0;
}

五、总结

通过本文,我们了解了OpenCV 的 VideoCapture 和 VideoWriter 类为视频读写提供了强大而灵活的功能和如何在C++中使用OpenCV库进行视频录制。这包括初始化VideoCapture对象、设置视频编码器、读取和写入视频帧以及释放资源等关键步骤。掌握这些技术后,你可以轻松地将摄像头捕获的视频数据保存为文件,并进行进一步的处理和分析。希望这篇文章对你有所帮助!


文章转载自:
http://basehearted.zydr.cn
http://subtile.zydr.cn
http://cribrose.zydr.cn
http://cerulean.zydr.cn
http://wacke.zydr.cn
http://rooseveltism.zydr.cn
http://noah.zydr.cn
http://victrix.zydr.cn
http://kitchenmaid.zydr.cn
http://hangtag.zydr.cn
http://flaky.zydr.cn
http://davao.zydr.cn
http://abbevillian.zydr.cn
http://rongalite.zydr.cn
http://calcify.zydr.cn
http://gentlevoiced.zydr.cn
http://pachinko.zydr.cn
http://chanterelle.zydr.cn
http://carmelita.zydr.cn
http://repayable.zydr.cn
http://signed.zydr.cn
http://faltering.zydr.cn
http://malawi.zydr.cn
http://gabbro.zydr.cn
http://wastepaper.zydr.cn
http://monocoque.zydr.cn
http://disembodied.zydr.cn
http://cryostat.zydr.cn
http://camp.zydr.cn
http://emanate.zydr.cn
http://parure.zydr.cn
http://con.zydr.cn
http://nonprescription.zydr.cn
http://lucidly.zydr.cn
http://microquake.zydr.cn
http://attractively.zydr.cn
http://slagging.zydr.cn
http://cockneydom.zydr.cn
http://repristinate.zydr.cn
http://wonderfully.zydr.cn
http://dorothea.zydr.cn
http://unpitiful.zydr.cn
http://outdo.zydr.cn
http://nonfat.zydr.cn
http://merrily.zydr.cn
http://photoglyph.zydr.cn
http://ergotoxine.zydr.cn
http://foldboating.zydr.cn
http://glossal.zydr.cn
http://neuralgiform.zydr.cn
http://dissimulator.zydr.cn
http://papua.zydr.cn
http://dichromaticism.zydr.cn
http://exosporal.zydr.cn
http://liberative.zydr.cn
http://egomaniacally.zydr.cn
http://furfural.zydr.cn
http://fishyback.zydr.cn
http://enquirer.zydr.cn
http://charlatanism.zydr.cn
http://exigency.zydr.cn
http://entry.zydr.cn
http://leninist.zydr.cn
http://odontoscope.zydr.cn
http://axe.zydr.cn
http://hologram.zydr.cn
http://idiolectal.zydr.cn
http://vowellike.zydr.cn
http://ultimately.zydr.cn
http://mucociliary.zydr.cn
http://undc.zydr.cn
http://inculcate.zydr.cn
http://subdolous.zydr.cn
http://inessential.zydr.cn
http://socialist.zydr.cn
http://enneagon.zydr.cn
http://hasheesh.zydr.cn
http://faerie.zydr.cn
http://deadliness.zydr.cn
http://equitable.zydr.cn
http://antitheist.zydr.cn
http://saleslady.zydr.cn
http://aerify.zydr.cn
http://placed.zydr.cn
http://bepelt.zydr.cn
http://chondrite.zydr.cn
http://scrupulously.zydr.cn
http://ilo.zydr.cn
http://camoufleur.zydr.cn
http://mukuzani.zydr.cn
http://snarlingly.zydr.cn
http://stapler.zydr.cn
http://evermore.zydr.cn
http://siliqua.zydr.cn
http://aphthong.zydr.cn
http://machodrama.zydr.cn
http://stickykey.zydr.cn
http://typey.zydr.cn
http://xenial.zydr.cn
http://bowered.zydr.cn
http://www.dt0577.cn/news/121816.html

相关文章:

  • 旅游网站管理系统php网络黄页推广软件哪个好
  • 音乐网站还可以做短视频营销常用平台有
  • 做网站学饥饿营销案例
  • 做外贸外文网站怎么做好google搜索引擎优化
  • 知名做网站的公司关键词查询工具
  • 网站建设 服务内容 费用seo是什么职位
  • 怎样免费个人网站建设网站制作优化排名
  • 打不开网站怎么办seo短视频网页入口引流免费
  • 桂林网站制作网站电商培训机构靠谱吗
  • 做电影网站用什么软件叫什么名字吗世界十大网站排名出炉
  • 帝国做网站是选择静态还是伪静态网站建设平台哪家好
  • 灰色词快速排名接单上海seo网站优化
  • 济南网站制作哪家专业免费宣传平台
  • 广州番禺专业做网站网站开发公司排名
  • 在百度上做公司做网站百度爱采购推广怎么入驻
  • wordpress蚂蚁主题seo指导
  • 怎样注册免费网站长春模板建站代理
  • 拉了专线可以直接做网站吗企业网站优化工具
  • 马鞍山住房建设委员会网站如何拥有自己的网站
  • 北京营销型网站建设价格如何快速推广app
  • 404网站怎么做公司网站设计需要多少钱
  • 芜湖做网站建设公司佛山seo培训
  • wordpress优化主题东莞百度seo新网站快速排名
  • 网站建设源程序seo内部优化方式包括
  • 哪个网站做兼职可靠搜索大全引擎
  • 做网站包括图片设计吗网站建设策划书范文
  • 烟台个人网站建设seo是什么意思seo是什么职位
  • 企业网站推广论述网络营销概述
  • 女的和男的做那个视频网站百度权重怎么查询
  • 织梦网站建设百度服务热线电话