opencv灰度图像锐化
时间: 2023-11-06 14:01:13 浏览: 113
要对灰度图像进行锐化,可以使用OpenCV中的Sobel算子。以下是实现灰度图像锐化的代码示例:
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv) {
Mat image = imread("C:/Users/YY/Pictures/Saved Pictures/frose.jpg", 0); // 以灰度模式读取图像
Mat sharpened;
Mat grad_x, grad_y;
Mat abs_grad_x, abs_grad_y;
Sobel(image, grad_x, CV_16S, 1, 0); // 计算x方向梯度
convertScaleAbs(grad_x, abs_grad_x); // 将x方向梯度转换为绝对值
Sobel(image, grad_y, CV_16S, 0, 1); // 计算y方向梯度
convertScaleAbs(grad_y, abs_grad_y); // 将y方向梯度转换为绝对值
addWeighted(abs_grad_x, 0.5, abs_grad_y, 0.5, 0, sharpened); // 两个方向梯度加权叠加
imshow("原图", image);
imshow("锐化图像", sharpened);
waitKey(0);
destroyAllWindows();
return 0;
}
阅读全文