使用C++编写计算图像锐度程序
时间: 2024-04-13 10:29:01 浏览: 97
以下是一个使用C++编写的简单图像锐度计算程序的示例:
```cpp
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main() {
// 读取图像
Mat image = imread("input.jpg", IMREAD_GRAYSCALE);
if (image.empty()) {
cerr << "Failed to read the image." << endl;
return -1;
}
// 计算图像锐度
Mat sharpened;
Mat kernel = (Mat_<float>(3, 3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);
filter2D(image, sharpened, CV_8U, kernel);
// 显示原始图像和锐化后的图像
namedWindow("Original Image", WINDOW_AUTOSIZE);
namedWindow("Sharpened Image", WINDOW_AUTOSIZE);
imshow("Original Image", image);
imshow("Sharpened Image", sharpened);
waitKey(0);
return 0;
}
```
这个程序使用OpenCV库来读取图像并进行图像锐度计算。它首先加载输入图像,然后定义一个锐化核(在这个示例中使用了一个简单的5x5核),然后使用`filter2D`函数将核应用于图像。最后,它显示原始图像和锐化后的图像。
请确保已经安装了OpenCV库,并将示例代码中的`input.jpg`替换为您要处理的实际图像路径。编译并运行这个程序,就可以得到图像的锐度增强效果。
阅读全文