LEARN OPENCV C++ in 4 HOURS: https://www.youtube.com/watch?v=2FYm3GOonhk
环境: Opencv 4.6.0 + Visual Studio 2017
基础
头文件
Opencv在C++只需包含3个头文件
#include <opencv2/imgcodecs.hpp> // 图像的编码和解码
#include <opencv2/highgui.hpp> // 界面
#include <opencv2/imgproc.hpp> // 图像处理
基本类型
- Mat
由OpenCV引入的矩阵数据类型, 用来处理图像
显示图像
int showImage(string path) { // path为图片路径
Mat img = imread(path); // 读取图像
imshow("Image", img); // 显示图像
waitKey(0); // 任意键结束
return 0;
}
播放视频
视频播放实际上是将视频逐帧读取图像, 然后按固定时间间隔播放, 达到播放视频的目的
int showVideo(string path) { // 视频路径
VideoCapture cap(path); // 读取视频
Mat img;
while (1)
{
if (!cap.read(img)) // 读取一帧图像
break; // 读完即停
imshow("Video", img); // 显示图像
waitKey(20); // 播放间隔, 可自行调节
}
return 0;
}
播放网络摄像头
和播放视频差不多, 将图片路径换成摄像头id, 只有一个摄像头默认id为0
int showWebcams(int id)
{
VideoCapture cap(0); // 读取摄像头图像
Mat img;
while (1)
{
if (!cap.read(img)) // 读取一帧图像
break;
imshow("Webcams", img); // 显示图像
waitKey(1); // 间隔不宜太长
}
return 0;
}
声明:
本文采用
BY-NC-SA
协议进行授权,如无注明均为原创,转载请注明转自
挺着将军肚
本文地址: 4h上手OpenCV - 读取图像、视频和网络摄像头
本文地址: 4h上手OpenCV - 读取图像、视频和网络摄像头