C++使用高斯模糊处理图像

C++使用高斯模糊处理图像

cv::GaussianBlur 是 OpenCV 中用于对图像进行高斯模糊处理的函数。高斯模糊是一种常用的图像滤波方法,它可以减少图像中的噪声,并平滑图像以降低细节级别。

void cv::GaussianBlur(const cv::Mat& src, cv::Mat& dst, cv::Size ksize, double sigmaX, double sigmaY = 0, int borderType = cv::BORDER_DEFAULT);



参数说明:

    src:输入图像,要进行高斯模糊处理的图像。
    dst:输出图像,模糊后的图像将存储在这里。
    ksize:高斯核的大小,通常为奇数的正整数。它决定了模糊程度,较大的值会导致更强的模糊。
    sigmaX:在 x 方向上的标准差,控制高斯核函数的宽度。较大的值会导致更强的模糊。
    sigmaY:在 y 方向上的标准差,通常默认为0。如果设置为0,则使用与 sigmaX 相同的值。
    borderType:边界填充类型,用于处理图像边界外的像素。通常使用默认值 cv::BORDER_DEFAULT。
使用高斯模糊处理图片的案例
#include <opencv2/opencv.hpp>

int main() {
    // 读取图像
    cv::Mat inputImage = cv::imread("input.jpg");

    // 检查图像是否成功加载
    if (inputImage.empty()) {
        std::cerr << "无法加载图像" << std::endl;
        return -1;
    }

    // 创建一个与输入图像相同大小的输出图像
    cv::Mat outputImage;

    // 定义高斯内核大小和标准差
    int kernelSize = 5; // 内核大小(奇数值推荐)
    double sigma = 1.0; // 标准差

    // 应用高斯模糊
    cv::GaussianBlur(inputImage, outputImage, cv::Size(kernelSize, kernelSize), sigma);

    // 显示原始图像和模糊后的图像
    cv::imshow("原始图像", inputImage);
    cv::imshow("高斯模糊后的图像", outputImage);

    // 等待用户按下键盘任意键后关闭窗口
    cv::waitKey(0);

    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枭玉龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值