#include <iostream>
#include "opencv2\opencv.hpp"
using namespace std;
using namespace cv;
int main()
{
VideoCapture capture("SampleVideo.avi");//读入视频
Mat edges;
//循环显示每一帧
while (1)
{
Mat frame;//定义一个Mat变量,用于存储每一帧的图像
capture >> frame;//读取当前帧
//若视频播放完成,退出循环
if (frame.empty())
{
break;
}
//将原图像转换为灰度图
cvtColor(frame, edges, CV_BGR2GRAY);
//使用内核来降噪
blur(edges,edges,Size(7,7));//进行模糊
//进行Canny边缘检测并显示
Canny(edges,edges,0,30,3);
imshow("video", edges); //显示当前帧
waitKey(100);//延时30ms
}
return 0;
}
检测结果图,如下图所示: