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

相关推荐
梦醒过后说珍重14 小时前
医学图像超分辨率:如何构建“教科书级”的模型评测与交互式可视化流水线?
opencv
格林威17 小时前
工业相机参数解析:曝光时间与运动模糊的“生死博弈”
c++·人工智能·数码相机·opencv·算法·计算机视觉·工业相机
AI科技星1 天前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
格林威2 天前
C++ 工业视觉实战:Bayer 图转 RGB 的 3 种核心算法(邻域平均、双线性、OpenCV 源码级优化)
开发语言·c++·人工智能·opencv·算法·计算机视觉·工业相机
格林威2 天前
工业相机图像高速存储(C++版):RAID 0 NVMe SSD 阵列方法,附堡盟相机实战代码!
开发语言·c++·人工智能·数码相机·opencv·计算机视觉·视觉检测
容沁风2 天前
用opencv和yolov5su定位二维码
opencv·yolo·二维码
追烽少年x2 天前
在Python中学习OpenCV - ROI(region of interest)
python·opencv
液态不合群3 天前
OpenCV多线程编程:从单线程到多线程的视频处理
人工智能·opencv·音视频
万物得其道者成3 天前
uni-app Android 离线打包:多环境(prod/dev)配置
android·opencv·uni-app
kkoral3 天前
OpenCV 与 FFmpeg 的关系
opencv·ffmpeg