文章目录
参考: https://docs.opencv.org/3.4.5/da/d5c/tutorial_canny_detector.html
若有表达不当或错误欢迎留言指正,互相交流学习,共同进步
目标
在本教程中,您将学习如何:
- 使用OpenCV函数cv :: Canny实现Canny边缘检测器。
原理
参考官方文档:https://docs.opencv.org/3.4.5/da/d5c/tutorial_canny_detector.html
Canny()函数讲解
void Canny( InputArray image,
OutputArray edges,
double threshold1,
double threshold2,
int apertureSize = 3,
bool L2gradient = false);
第一个参数:输入图像(八位的图像)
第二个参数:输出的边缘图像
第三个参数:下限阈值,如果像素梯度低于下限阈值,则将像素不被认为边缘
第四个参数:上限阈值,如果像素梯度高于上限阈值,则将像素被认为是边缘(建议上限是下限的2倍或者3倍)
第五个参数:为Sobel()运算提供内核大小,默认值为3
第六个参数:计算图像梯度幅值的标志,默认值为false
源码
#include <opencv2\opencv.hpp>
#include <iostream>
#include "opencv2/imgproc.hpp"
#include "opencv2/imgcodecs.hpp"
#include "opencv2/highgui.hpp"
using namespace cv;
int main()
{
//
VideoCapture capture(