c++实现拉普拉斯锐化
时间: 2023-09-19 16:10:14 浏览: 98
拉普拉斯锐化(边缘检测).zip_manmut_拉普拉斯
拉普拉斯锐化是一种常用的图像锐化处理算法,可以突出图像中的边缘特征。下面是使用C++实现的拉普拉斯锐化算法代码:
```C++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
Mat image = imread("test.jpg");
imshow("Original Image", image);
Mat kernel = (Mat_<float>(3, 3) <<
0, -1, 0,
-1, 5, -1,
0, -1, 0);
Mat sharpened;
filter2D(image, sharpened, image.depth(), kernel);
imshow("Sharpened Image", sharpened);
waitKey(0);
return 0;
}
```
代码中,首先使用OpenCV库读取一张图像,然后定义一个3x3的拉普拉斯核,通过调用filter2D函数实现卷积操作,最后显示处理后的图像。具体来说,filter2D函数的第一个参数是需要处理的原始图像,第二个参数是处理后生成的图像,第三个参数是输出图像的深度,第四个参数是卷积核。在这个例子中,卷积核是一个3x3的矩阵,其中中心值为5,其余值为-1。
阅读全文