滤波器opencv

在OpenCV中,滤波器用于对图像进行平滑、锐化、边缘检测等操作。以下是一些常用的滤波器及其在OpenCV中的Python代码示例:

  1. 均值滤波器(平滑图像):

    import cv2
    import numpy as np

    读取图像

    image = cv2.imread('path_to_your_image.jpg')

    应用均值滤波器

    blurred_image = cv2.blur(image, (5, 5)) # 使用5x5的核进行滤波

    显示结果

    cv2.imshow('Original Image', image)
    cv2.imshow('Blurred Image', blurred_image)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

  2. 高斯滤波器(平滑图像,减少噪声):

    import cv2
    import numpy as np

    读取图像

    image = cv2.imread('path_to_your_image.jpg')

    应用高斯滤波器

    gaussian_blur = cv2.GaussianBlur(image, (5, 5), 0) # 使用5x5的核,标准差为0

    显示结果

    cv2.imshow('Original Image', image)
    cv2.imshow('Gaussian Blurred Image', gaussian_blur)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

  3. 中值滤波器(去除椒盐噪声):

    import cv2
    import numpy as np

    读取图像

    image = cv2.imread('path_to_your_image.jpg')

    应用中值滤波器

    median_blur = cv2.medianBlur(image, 5) # 使用5x5的核

    显示结果

    cv2.imshow('Original Image', image)
    cv2.imshow('Median Blurred Image', median_blur)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

  4. 双边滤波器(边缘保存平滑):

    import cv2
    import numpy as np

    读取图像

    image = cv2.imread('path_to_your_image.jpg')

    应用双边滤波器

    bilateral_filter = cv2.bilateralFilter(image, 9, 75, 75) # 直径9,颜色空间标准差75,坐标空间标准差75

    显示结果

    cv2.imshow('Original Image', image)
    cv2.imshow('Bilateral Filter Image', bilateral_filter)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

  5. Sobel边缘检测滤波器:

    import cv2
    import numpy as np

    读取图像

    image = cv2.imread('path_to_your_image.jpg')
    gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

    应用Sobel滤波器

    sobel_x = cv2.Sobel(gray_image, cv2.CV_64F, 1, 0, ksize=5) # 水平方向
    sobel_y = cv2.Sobel(gray_image, cv2.CV_64F, 0, 1, ksize=5) # 垂直方向

    显示结果

    cv2.imshow('Original Image', image)
    cv2.imshow('Sobel X', sobel_x)
    cv2.imshow('Sobel Y', sobel_y)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

'path_to_your_image.jpg' 替换为您要处理的图像的实际路径。

相关推荐
深蓝海拓1 天前
opencv的模板匹配(Template Matching)学习笔记
人工智能·opencv·计算机视觉
滨HI01 天前
C++ opencv简化轮廓
开发语言·c++·opencv
技术支持者python,php3 天前
训练模型,物体识别(opencv)
人工智能·opencv·计算机视觉
深蓝海拓4 天前
OpenCV学习笔记之:调整ORB算法的参数以适应不同的图像
笔记·opencv·学习
Mrliu__4 天前
Opencv(十六) : 图像边缘检测
人工智能·opencv·计算机视觉
柳鲲鹏4 天前
OpenCV:文件视频防抖,python版
python·opencv·音视频
千里飞刀客4 天前
aruco位姿检测
人工智能·opencv·计算机视觉
weixin_457760005 天前
OpenCV 图像处理基础算法详解(一)
图像处理·opencv·算法
扶尔魔ocy5 天前
【QT opencv】手动去噪--网格化获取区域坐标
开发语言·qt·opencv
江河地笑6 天前
opencv、cmake、vcpkg
人工智能·opencv·计算机视觉