概述
opencv视频操作基础
-
使用的是opencv中的VideoCapture类,作用是从视频文件或从摄像头捕捉视频并显示出来
1.2-1读取或播放视频
#include<opencv2/opencv.hpp>
using namespace cv;
int main()
{
//读入视频
VideoCapture capture("1.mp4"); //实例化&初始化
//循环显示每一帧
while (1)
{
Mat frame; //定义一个Mat变量,用于储存每一帧的图像
capture >> frame;//读取当前帧
imshow("读取视频", frame);//显示当前帧
waitKey(30);//延时30毫秒
}
return 0;
}
-
第6行也可以先实例化再初始化,即VideoCapture capture; capture.open("1.mp4");
1.2-2调用摄像头采集图像
#include<opencv2/opencv.hpp>
using namespace cv;
int main()
{
//读入视频 ***********************
VideoCapture capture(0); //实例化&初始化 **其实就是这里改成0了**
//循环显示每一帧 ***********************
while (1)
{
Mat frame; //定义一个Mat变量,用于储存每一帧的图像
capture >> frame;//读取当前帧
imshow("读取视频", frame);//显示当前帧
waitKey(30);//延时30毫秒
}
return 0;
}
1.2-3摄像头配合边缘检测
#include<opencv2/opencv.hpp>
using namespace cv;
int main()
{
//读入视频
VideoCapture capture(0); //实例化&初始化
Mat frame2;
//循环显示每一帧
while (1)
{
Mat frame; //定义一个Mat变量,用于储存每一帧的图像
capture >> frame;//读取当前帧
cvtColor(frame, frame2, COLOR_BGR2GRAY);//将原图像转为灰度图像
blur(frame2, frame2, Size(7, 7)); //使用3*3来降噪(2*3+1 = 7[这句我没懂...])
Canny(frame2, frame2, 0, 30, 3); //运行Canny算子
imshow("边缘检测后的读取视频", frame2);//显示当前帧
if(waitKey(30)>=30)break;//延时30毫秒
}
return 0;
}
纯手敲,整理不易,留个赞再走叭
最后
以上就是谦让抽屉为你收集整理的opencv的视频处理(源码及详细注释)的全部内容,希望文章能够帮你解决opencv的视频处理(源码及详细注释)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复