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

相关推荐
SunnyDays101116 小时前
如何使用 C# 转换 PowerPoint 为 HTML:完整指南
人工智能·opencv·计算机视觉·c#
_李小白1 天前
【android opencv学习笔记】Day 8: remap(像素位置重映射)
android·opencv·学习
xp_fangfei1 天前
通过 Marker(视觉标记)获取机器人位姿
opencv·机器人
Lhan.zzZ2 天前
笔记_2026.4.28_003
c++·笔记·qt·opencv
sali-tec2 天前
C# 基于OpenCv的视觉工作流-章56-OCR
图像处理·人工智能·opencv·算法·计算机视觉·ocr
_李小白2 天前
【android opencv学习笔记】Day 2: Mat类(图片数据结构体)
android·opencv·学习
Leon_Chenl2 天前
【已开源】【嵌入式 Linux 音视频+ AI 实战项目】瑞芯微 Rockchip 系列 RK3588-基于深度学习的人脸门禁+ IPC 智能安防监控系统
深度学习·opencv·yolo·ffmpeg·音视频·边缘计算·人脸识别+检测
H Journey3 天前
常用知识总结C++、CMake、Linux
linux·c++·opencv·cmake
sali-tec4 天前
C# 基于OpenCv的视觉工作流-章53-QR二维码1
图像处理·人工智能·opencv·算法·计算机视觉
星辰徐哥5 天前
OpenCV入门:Windows系统下OpenCV的安装与环境配置
人工智能·windows·opencv