边缘检测:最优边缘检测算子Canny算子。
API函数:Canny()函数
void Canny(InputArray image,//输入图像,必须为单通道8位
OutputArray edges,//输出的边缘图
double threshold1,//低阈值
double threshold2,//高阈值
int apertureSize = 3,//默认为3,Sobel算子的孔径大小
bool L2gradient = false);//默认
一、c++示例代码
//包含头文件
#include <opencv2/opencv.hpp>
//命名空间
using namespace cv;
using namespace std;
//全局函数声明部分
//主函数
int main()
{
//【1】载入图像
Mat image = imread("F:\\opencvtest\\testImage\\beauty.png");
//【2】检查是否载入成功
if (image.empty())
{
printf("读取图片错误,请确认目录下是否有imread函数指定图片存在! \n ");
return 0;
}
//【3】转换为灰度图像
Mat grayImage;
cvtColor(image, grayImage, COLOR_BGR2GRAY);
//【4】图像平滑降噪
Mat result;
blur(grayImage, result, Size(3,3));
//【5】Canny算子进行边缘检测
Mat edge;
Canny(result, edge, 20, 60,