4.opencv打开美女热舞视频以及摄像头
Posted 李在奋斗……
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4.opencv打开美女热舞视频以及摄像头相关的知识,希望对你有一定的参考价值。
opencv调用影视设备
(一)、三个APL:
1.认识三个apl
1.1VideoCaptrue类(获取视频设备)
VideoCaptrue,是c++的一个类,我们在调用它时,要先进行实列化。
通常实列化之后直接取0;
VideoCapture cap(0); // VideoCapture,是一个类,有多个构造函数,用0即可
1.2 read 读取视频帧
read(),目的是为了读取我们视频的帧率,有两种格式都可以读取帧率
VideoCapture cap;
Max fram;
cap >> fram;
VideoCapture cap;
Max fram;
cap.read(fram);
1.3 release 释放视频
目的时在程序结束后释放掉,其基本格式为
VideoCapture cap;
cap.release();
(二)、waitKey()等待键盘
1.什么是waiKey()?
是指给定一个时间内等待用户按键触发,不和cin连用.类型为int,以毫秒为单位
2.为什么要用waitKey()?
在我们进行判断语句中、while循环中可以利用waitKey(),进行语句判断
3.在while()语句中怎么用?
在C++中,我们通常格式为:按esc进行退出.
if(waitKey(100)==27)break;
(三)、实战项目
基本思路为: 先创建window窗口(namedWindow),然后获取视频设备
ViodeCapture cap(0).其次输出窗口(imshow()),最后释放窗口.
代码展示:
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main()
Mat fram1;
int x;
//创建窗口
namedWindow("视频", WINDOW_AUTOSIZE);
//获取视频设备 VideoCapure 一个类
VideoCapture cap(0); // VideoCapture,是一个类,有多个构造函数,用0即可
while (1)
//cap >> fram;
cap.read(fram1); //读取视频帧
imshow("视频", fram1);
if(waitKey(100)==27)break;
cout << "已经退出程序!" << endl;
cap.release();
return 0;
效果展示:
(三、opencv打开美女热舞文件)
1.VideoCapture类
此时此刻我们需要改变对象中的cap(0)。改成cap("文件地址“)。
VideoCapture cap("C:\\\\Users\\\\22612\\\\Pictures\\\\Screenshots\\\\美女热舞.mp4");
2.我们需要改变什么?
对于固定的if(waitKey(100)==27)-------->if(waitkey(25)==27)
if (waitKey(25) == 27)break;
3.实战项目:
3.1、代码展示:
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main()
Mat fram1;
int x;
namedWindow("视频", WINDOW_AUTOSIZE);
VideoCapture cap("C:\\\\Users\\\\22612\\\\Pictures\\\\Screenshots\\\\美女热舞.mp4");
while (1)
//cap >> fram;
cap.read(fram1);
imshow("视频", fram1);
if (waitKey(25) == 27)break;
cout << "已经退出程序!" << endl;
cap.release();
return 0;
3.2、效果展示:
(视频效果、无不良印象)
4.原视频
…加载不出…
以上是关于4.opencv打开美女热舞视频以及摄像头的主要内容,如果未能解决你的问题,请参考以下文章
波士顿动力致敬经典!灵魂复刻40年前「滚石」热舞,动作不差分毫
波士顿动力致敬经典!灵魂复刻40年前「滚石」热舞,动作不差分毫