OpenCV如何进行图像的平滑和锐化处理?

OpenCV提供了一些函数来对图像进行平滑和锐化处理。下面是一些常用的函数和示例:

  1. 平滑处理
    • cv::blur: 通过均值滤波对图像进行平滑处理。
    • cv::GaussianBlur: 通过高斯滤波对图像进行平滑处理。
    • cv::medianBlur: 通过中值滤波对图像进行平滑处理。

示例:

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main() {
    Mat image = imread("lena.jpg");
    if (image.empty()) {
        cout << "Could not open or find the image" << endl;
        return -1;
    }

    // 对图像进行平滑处理
    Mat smoothImage;
    blur(image, smoothImage, Size(5, 5));
    Mat gaussianImage;
    GaussianBlur(image, gaussianImage, Size(5, 5), 0);
    Mat medianImage;
    medianBlur(image, medianImage, 5);

    namedWindow("Original Image", WINDOW_NORMAL);
    imshow("Original Image", image);

    namedWindow("Smooth Image", WINDOW_NORMAL);
    imshow("Smooth Image", smoothImage);

    namedWindow("Gaussian Image", WINDOW_NORMAL);
    imshow("Gaussian Image", gaussianImage);

    namedWindow("Median Image", WINDOW_NORMAL);
    imshow("Median Image", medianImage);

    waitKey(0);
    return 0;
}
  1. 锐化处理
    • cv::filter2D: 通过卷积操作对图像进行锐化处理。

示例:

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main() {
    Mat image = imread("lena.jpg");
    if (image.empty()) {
        cout << "Could not open or find the image" << endl;
        return -1;
    }

    // 对图像进行锐化处理
    Mat kernel = (Mat_<float>(3, 3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);  // 定义锐化卷积核
    Mat sharpImage;
    filter2D(image, sharpImage, -1, kernel);

    namedWindow("Original Image", WINDOW_NORMAL);
    imshow("Original Image", image);

    namedWindow("Sharp Image", WINDOW_NORMAL);
    imshow("Sharp Image", sharpImage);

    waitKey(0);
    return 0;
}

在上面的示例中,我们使用cv::filter2D函数对图像进行锐化处理。锐化卷积核的定义如下:

Mat kernel = (Mat_<float>(3, 3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);

这个卷积核可以增强图像的边缘特征,使图像看起来更锐利。您可以尝试不同的卷积核来达到不同的效果。

免费分享一些我整理的人工智能学习资料给大家,整理了很久,非常全面。包括一些人工智能基础入门视频+AI常用框架实战视频、计算机视觉、机器学习、图像识别、NLP、OpenCV、YOLO、pytorch、深度学习与神经网络等视频、课件源码、国内外知名精华资源、AI热门论文等。

下面是部分截图,点击文末名片关注我的公众号【AI技术星球】发送暗号 321 领取(一定要发暗号 321)

目录

一、人工智能免费视频课程和项目

二、人工智能必读书籍

三、人工智能论文合集

四、机器学习+计算机视觉基础算法教程

 五、深度学习机器学习速查表(共26张)

学好人工智能,要多看书,多动手,多实践,要想提高自己的水平,一定要学会沉下心来慢慢的系统学习,最终才能有所收获。

点击下方名片,扫码关注公众号【AI技术星球】发送暗号 321 免费领取文中资料。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值