opencv学习日记——利用Lapiacian算子检测图像边缘
1、图像结果
滤波之后在检测的效果好点
2、代码部分
#include<iostream>
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
Mat img = imread("a11.jpeg", IMREAD_ANYDEPTH);
if (img.empty())
{
cout << "输入图像为空";
return -1;
}
Mat result1, resultg, resultG;
//Laplacian(原图, 新图, 取值范围, 滤波器大小, 尺度, 偏置)
Laplacian(img, result1, CV_16S, 3, 1, 0);
convertScaleAbs(result1, result1);
//GauessianBlur(原图, 新图, 滤波器大小, X方向标准差, Y方向标准差)
GaussianBlur(img, resultg, Size(3, 3), 5, 0);
//Laplacian(原图, 新图, 取值范围, 滤波器大小, 尺度, 偏置)
Laplacian(resultg, resultG, CV_16S, 3, 1, 0);
convertScaleAbs(resultG, resultG);
imshow("result1", result1);
imshow("经高斯滤波的", resultG);
waitKey(0);
}