#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/core.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
VideoCapture capture(0);
while (1)
{
Mat frame;
capture >> frame;
imshow("video", frame);
Mat edge;
cvtColor(frame, edge, COLOR_BGR2GRAY);
blur(edge, edge, Size(7, 7));//进行模糊降噪处理
Canny(edge, edge, 10, 30);
imshow("after canny", edge);
waitKey(30);
}
}
1、videocapture类用于图像的读取,和opencv中mat类相似,同样属于一种结构体
2、对于blur函数的理解,第一个参数为源图像的读取,第二个参数为目标图像,注意两个图像的大小及尺寸应相同,第三个参数为内核,及像素的宽度与高度
3、边缘化提取首先应将源图像转换为灰度图像,注意opencv中默认彩色图像的格式为BGR格式,BGR格式转换为灰度图像时,BGR2GRAY,注意函数运用正确,转化运用blur函数进行降噪处理