c++数字图像处理锐化,平滑
时间: 2023-07-23 07:18:00 浏览: 152
MFC C++ 图形图像处理(锐化、平滑)
3星 · 编辑精心推荐
C++中实现数字图像处理锐化的方法之一是使用卷积滤波器,其中常用的锐化滤波器是拉普拉斯滤波器。平滑滤波则可以使用高斯滤波器或均值滤波器等方法来实现。以下是使用OpenCV库实现锐化和平滑的示例代码:
锐化:
```
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat image = imread("image.jpg");
Mat sharpened;
Mat kernel = (Mat_<float>(3,3) << 0, -1, 0, -1, 5, -1, 0, -1, 0); // 拉普拉斯滤波器
filter2D(image, sharpened, -1, kernel);
imshow("Original Image", image);
imshow("Sharpened Image", sharpened);
waitKey(0);
return 0;
}
```
平滑:
```
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat image = imread("image.jpg");
Mat smoothed;
GaussianBlur(image, smoothed, Size(5,5), 0); // 高斯滤波器
imshow("Original Image", image);
imshow("Smoothed Image", smoothed);
waitKey(0);
return 0;
}
```
阅读全文