机器视觉-6 检测原理之预处理(滤波)

OpenCV 中的滤波是一种用于图像处理的常用技术,主要用于去噪、平滑、边缘检测、增强图像特征等操作。滤波的基本思想是通过卷积操作,将图像中每个像素与其周围像素值按照一定的权重关系进行组合,从而获得新的像素值。下面我将详细介绍 OpenCV 中常用的几种滤波方法。

1. 平均滤波 (Averaging Filter)

平均滤波是一种简单的线性滤波方法,通常用于平滑图像,减少图像噪声。它通过对滤波窗口内的所有像素取平均值来替换中心像素值,适合快速平滑处理,但容易模糊图像中的细节和边缘。

代码实现:
#include <opencv2/opencv.hpp>
using namespace cv;

int main() {
    // 读取图像
    Mat image = imread("image.jpg");

    // 检查图像是否成功加载
    if (image.empty()) {
        return -1;
    }

    // 使用平均滤波
    Mat blurred_image;
    blur(image, blurred_image, Size(5, 5)); // Size(5, 5)表示滤波核的大小

    // 显示结果
    imshow("Original Image", image);
    imshow("Average Filter", blurred_image);
    waitKey(0);
    return 0;
}

主要参数:
  • Size(5, 5):滤波核的大小,数值越大,平滑效果越明显,但图像细节损失越多。
  • blur()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值