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

html5制作网站开发线上运营的5个步骤

html5制作网站开发,线上运营的5个步骤,招聘类网站建设,南宁建设网站制作最近遇到一些售前提供的BUG,但是他们提供的是录像视频,因为处理显示速度比较快,因此很难找到出现问题的位置。需要反复播放,自己编写了一个视频分解成图片这样就可以一张图一张图的对比,方便查看。 开发环境 qtopenv…

最近遇到一些售前提供的BUG,但是他们提供的是录像视频,因为处理显示速度比较快,因此很难找到出现问题的位置。需要反复播放,自己编写了一个视频分解成图片这样就可以一张图一张图的对比,方便查看。

开发环境

qt+openvc

sudo apt install libopencv-dev

源码说明

2.1 引用opencv动态库

.pro文件需要添加opencv的动态库

LIBS += -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs

2.2 Qt代码

将视频分解成每一帧,然后将每一帧保存位图片。

void MainWindow::slotClickBtn()
{ // 打开视频文件cv::VideoCapture video("/pan/录屏_选择区域_20231227104611.mp4");// 检查视频是否成功打开if (!video.isOpened()) {std::cerr << "无法打开视频文件" << std::endl;}// 读取视频的帧率和总帧数double fps = video.get(cv::CAP_PROP_FPS);int totalFrames = video.get(cv::CAP_PROP_FRAME_COUNT);// 逐帧读取视频并保存为图像文件for (int frameNumber = 0; frameNumber < totalFrames; ++frameNumber) {cv::Mat frame;video.read(frame);// 检查是否成功读取帧if (frame.empty()) {std::cerr << "无法读取视频帧" << std::endl;break;}// 生成图像文件名,例如 frame_0001.jpgstd::string filename = "frame_" + std::to_string(frameNumber + 1) + ".jpg";// 保存帧为图像文件cv::imwrite(filename, frame);}// 关闭视频文件video.release();std::cout << "视频分解完成,共生成 " << totalFrames << " 张图像文件。" << std::endl;}

2.3 源代码地址

https://gitcode.net/arv002/qt/-/tree/master/opencv/VideoDecomposition

三、扩展

3.1 VideoCapture 详解

cv::VideoCapture 是 OpenCV 中用于从视频文件、摄像头或图像序列中捕获帧的类。它提供了一种方便的方式来处理视频流和图像序列。

以下是一些关于 cv::VideoCapture 的主要方法和属性的详细说明:

构造函数

cv::VideoCapture(const cv::String& filename);
cv::VideoCapture(int index);
  • filename:视频文件的路径,可以是本地文件路径或网络 URL。
  • index:摄像头的索引。通常,0 表示默认摄像头,1 表示第二个摄像头,以此类推。

成员函数

bool open(const cv::String& filename);

打开视频文件。返回 true 表示成功打开,false 表示失败。

bool isOpened() const;

检查视频是否成功打开。返回 true 表示成功打开,false 表示失败。

void release();

释放资源。关闭视频文件或释放摄像头。

bool read(cv::OutputArray image);

从视频流中读取一帧。返回 true 表示成功读取,false 表示读取失败或到达视频末尾。

double get(int propId) const;

获取视频流的属性值,例如帧率、宽度、高度等。propId 是属性标识符,例如 cv::CAP_PROP_FPS 表示帧率。

bool set(int propId, double value);

设置视频流的属性值。propId 是属性标识符,value 是要设置的值。

示例用法

#include <opencv2/opencv.hpp>
#include <iostream>int main() {cv::VideoCapture cap("path/to/your/video.mp4");if (!cap.isOpened()) {std::cerr << "无法打开视频文件" << std::endl;return -1;}double fps = cap.get(cv::CAP_PROP_FPS);int width = cap.get(cv::CAP_PROP_FRAME_WIDTH);int height = cap.get(cv::CAP_PROP_FRAME_HEIGHT);std::cout << "帧率: " << fps << ",宽度: " << width << ",高度: " << height << std::endl;cv::Mat frame;while (cap.read(frame)) {// 处理每一帧cv::imshow("Frame", frame);cv::waitKey(30);  // 等待30毫秒}cap.release();cv::destroyAllWindows();return 0;
}

上述代码演示了如何打开视频文件、获取视频属性、逐帧读取视频并显示。请根据实际需求调整。

http://www.mmbaike.com/news/78324.html

相关文章:

  • 什么网站可以做汽车国际贸易南宁seo优化公司
  • 网站建设找哪一家好seo工具是什么意思
  • 企业网站制作建站公司十大网络营销成功案例
  • 网站建设不能持续消费网站排名优化外包公司
  • 可以做淘宝推广的网站阜阳seo
  • python开源网站源码营销推广手段有什么
  • 学做网站用到哪些知识针对百度关键词策划和seo的优化
  • 品牌策划网站推荐网站内容编辑
  • 网页设计案例教程杨松答案优化大师电脑版官方免费下载
  • 微信手机官网登录入口注册石家庄seo关键词
  • 太仓网站建设企业网站百度收录提交申请网站
  • php框架做网站好处青岛网站建设制作
  • 网站区域名是什么意思百度怎么搜索网址打开网页
  • 登录官方网站百度中心
  • 郑州网站建设价格网络营销服务的特点有哪些
  • 惠州禅城网站建设收录情况有几种
  • 网站开发的毕设开题报告朝阳seo
  • b2c电子商务网站建设费用能搜任何网站的浏览器
  • 中国做网站的公司高效统筹疫情防控和经济社会发展
  • 做物流的都是上什么网站厦门seo搜索排名
  • 静态网站需要数据库吗无锡百度公司王东
  • 网站建设优秀网站建设app拉新一手渠道
  • 常州建设局官方网站湖南专业seo推广
  • 网站认证怎么做最知名的网站推广公司
  • 网站百度快照不更新国家卫生健康委
  • 成都 网站建设培训天津短视频seo
  • 如何做文献ppt模板下载网站智能建站
  • 黑龙江省网站建设通州优化公司
  • 卡通网站建设百度知道灰色词代发收录
  • 如何增加网站外链营销方案推广