opencv图像锐化c++
时间: 2023-12-11 08:33:59 浏览: 181
opencv实现图片模糊和锐化操作
5星 · 资源好评率100%
以下是两种OpenCV图像锐化的C++实现方法:
1. 使用filter2D方法实现锐化
```cpp
void image_descent(Mat& image) {
// 定义锐化算子
Mat sharp = (Mat_<int>(3, 3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);
Mat result filter2D(image, result, -1, sharp, Point(-1, -1), 0, BORDER_DEFAULT);
convertScaleAbs(result, result);
namedWindow("sharp img", WINDOW_FREERATIO);
imshow("sharp img", result);
}
```
2. 使用USM(Unsharp Masking)算法实现锐化
```cpp
void usm_sharp(Mat& image) {
Mat blur_img, lap_img;
GaussianBlur(image, blur_img, Size(3, 3), 0, 0, BORDER_DEFAULT);
Laplacian(image, lap_img, -1, 1, 1.0, 0, BORDER_DEFAULT);
Mat usm_img;
addWeighted(blur_img, 1, lap_img, -0.7, 0, usm_img, -1);
namedWindow("usm_sharp img", WINDOW_FREERATIO);
imshow("usm_sharp img", usm_img);
}
```
阅读全文