滤波器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' 替换为您要处理的图像的实际路径。

相关推荐
湫兮之风2 小时前
Opencv: cv::LUT()深入解析图像块快速查表变换
人工智能·opencv·计算机视觉
dlraba8024 小时前
基于 OpenCV 的信用卡数字识别:从原理到实现
人工智能·opencv·计算机视觉
Monkey的自我迭代10 小时前
基于OpenCV的银行卡号识别系统:从原理到实现
人工智能·opencv·计算机视觉
ZZHow102412 小时前
02OpenCV基本操作
python·opencv·计算机视觉
AI 嗯啦14 小时前
计算机视觉opencv----银行卡号码识别
人工智能·opencv·计算机视觉
mahuifa14 小时前
OpenCV 开发 -- 图像基本处理
人工智能·python·opencv·计算机视觉
山烛16 小时前
OpenCV 银行卡号识别
人工智能·opencv·计算机视觉·图像识别·数字识别
小王爱学人工智能1 天前
OpenCV的阈值处理
人工智能·opencv·计算机视觉
湫兮之风1 天前
OpenCV: Mat存储方式全解析-单通道、多通道内存布局详解
人工智能·opencv·计算机视觉
JoinApper2 天前
小白学OpenCV系列3-图像算数运算
人工智能·opencv·计算机视觉