opencv学习日记——利用Canny算法提取图像边缘
1、图像处理结果
提高阈值效果会更好
2、代码部分
#include<iostream>
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
Mat img = imread("nazha1.jpg", IMREAD_ANYDEPTH);
if (img.empty())
{
cout << "输入图像为空";
return -1;
}
Mat result1, result2, result3;
//Canny(原图, 新图, 阈值1, 阈值2, 卷积核直径)
Canny(img, result1, 20, 40, 3);
//高斯滤波
//GaussianBlur(原图, 新图, 滤波器尺寸, x方向的标准差)
GaussianBlur(img, result2, Size(3, 3), 5);
//Canny(原图, 新图, 阈值1, 阈值2, 卷积核直径)
Canny(result2, result3, 20, 40, 3);
imshow("result1", result1);
imshow("result2", result2);
imshow("result3", result3);
waitKey(0);
return 0;
}