14.【opencv打开视频以及摄像头】

简介: 14.【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.原视频

…加载不出…


相关文章
|
2月前
|
编解码 数据安全/隐私保护 计算机视觉
Opencv学习笔记(十):同步和异步(多线程)操作打开海康摄像头
如何使用OpenCV进行同步和异步操作来打开海康摄像头,并提供了相关的代码示例。
95 1
Opencv学习笔记(十):同步和异步(多线程)操作打开海康摄像头
|
2月前
|
计算机视觉
Opencv学习笔记(八):如何通过cv2读取视频和摄像头来进行人脸检测(jetson nano)
如何使用OpenCV库通过cv2模块读取视频和摄像头进行人脸检测,并提供了相应的代码示例。
97 1
|
2月前
|
编解码 计算机视觉 Python
Opencv学习笔记(九):通过CV2将摄像头视频流保存为视频文件
使用OpenCV库通过CV2将摄像头视频流保存为视频文件,包括定义视频编码格式、设置保存路径、通过write写入视频文件,并提供了相应的Python代码示例。
139 0
|
4月前
|
计算机视觉 索引
OpenCv实时设置摄像头参数/获得摄像头参数值的方法论
这篇文章提供了一个OpenCV的实例教程,展示了如何使用`createTrackbar()`函数实时设置和获取摄像头参数值,如饱和度、Gamma和亮度,并通过回调函数在程序中连续修改这些参数。
|
2月前
|
缓存 监控 计算机视觉
视频监控笔记(三):opencv结合ffmpeg获取rtsp摄像头相关信息
本文介绍了如何使用OpenCV结合FFmpeg获取RTSP摄像头信息,包括网络架构、视频监控系统组成、以及如何读取和显示网络摄像头视频流。
50 1
|
2月前
|
计算机视觉 Python
python利用pyqt5和opencv打开电脑摄像头并进行拍照
本项目使用Python的PyQt5和OpenCV库实现了一个简单的摄像头应用。用户可以通过界面按钮打开或关闭摄像头,并实时预览视频流。点击“拍照”按钮可以捕捉当前画面并保存为图片文件。该应用适用于简单的图像采集和处理任务。
115 0
python利用pyqt5和opencv打开电脑摄像头并进行拍照
|
2月前
|
编解码 关系型数据库 计算机视觉
Opencv学习笔记(十一):opencv通过mp4保存为H.264视频
本文介绍了如何在OpenCV中通过使用cisco开源的openh264库来解决不支持H.264编码的问题,并提供了完整的代码示例。
100 0
Opencv学习笔记(十一):opencv通过mp4保存为H.264视频
|
4月前
|
计算机视觉 索引
OpenCV读取视频失败<无可用信息,未为 opencv_world453.dll 加载任何符号> cv::VideoCapture
本文介绍了解决OpenCV读取视频失败的错误,指出问题通常由视频路径错误或摄像头索引错误导致,并提供了相应的解决方法。
OpenCV读取视频失败<无可用信息,未为 opencv_world453.dll 加载任何符号> cv::VideoCapture
|
5月前
|
机器学习/深度学习 XML 计算机视觉
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库,它提供了大量的函数和工具,用于处理图像和视频数据。
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库,它提供了大量的函数和工具,用于处理图像和视频数据。
|
6月前
|
计算机视觉
OpenCV加载视频
OpenCV加载视频