欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

图像预处理之opencv卷积/滤波api

程序员文章站 2022-07-15 22:38:17
...

目录

一、空间域处理

1.基于领域的卷积滤波变换

(1)、平滑均值滤波/卷积

(2)、平滑中值滤波/卷积

(3)、自定义过滤器卷积

(4)、平滑高斯滤波/卷积

(5)、梯度Prewitt滤波/卷积

(6)、梯度Sobel滤波/卷积

(7)、梯度Laplacian滤波/卷积

二、频率域处理


一、空间域处理

1.基于领域的卷积滤波变换

(1)、平滑均值滤波/卷积

        破坏了图像的细节使图像变得模糊,同时不能很好的去除噪声

图像预处理之opencv卷积/滤波api

def blur_demo(image):
    dst = cv.blur(image, (5, 5))
    cv.imshow("blur_demo", dst)

图像预处理之opencv卷积/滤波api

 

(2)、平滑中值滤波/卷积

中值滤波对降噪能起到很好的作用,同时尽可能保留图像的细节

        图像预处理之opencv卷积/滤波api

def median_blur_demo(image):
    dst = cv.medianBlur(image, 5)
    cv.imshow("median_blur_demo", dst)

图像预处理之opencv卷积/滤波api

(3)、自定义过滤器卷积

def custom_blur_demo(image):
    #kernel = np.ones([5, 5], np.float32)/25
    kernel = np.array([[0, -1, 0],[-1, 5, -1],[0, -1, 0]], np.float32)
    dst = cv.filter2D(image, -1, kernel=kernel)
    cv.imshow("custom_blur_demo", dst)

图像预处理之opencv卷积/滤波api

图像预处理之opencv卷积/滤波api

  • (左)移位

图像预处理之opencv卷积/滤波api

  • 锐化

图像预处理之opencv卷积/滤波api

(4)、平滑高斯滤波/卷积

  1. 模拟人眼(离关注中心越远,精度越模糊),关注中心区域。有效的去除高斯噪声
  2. 图像预处理之opencv卷积/滤波api越小关注区域越集中
blur_1 = cv2.GaussianBlur(img,(5,5),0)#高斯滤波(5, 5)表示高斯矩阵的长与宽都是5,标准差取0

(5)、梯度Prewitt滤波/卷积

图像预处理之opencv卷积/滤波api

图像预处理之opencv卷积/滤波api

(6)、梯度Sobel滤波/卷积

图像预处理之opencv卷积/滤波api

图像预处理之opencv卷积/滤波api

sobelx = cv.Sobel(img,cv.CV_64F,1,0,ksize=5)#Sobel算子为边沿检测中常用的算子之一,Sobel 算子计算一阶、二阶、三阶或混合图像差分
sobely = cv.Sobel(img,cv.CV_64F,0,1,ksize=5)

(7)、梯度Laplacian滤波/卷积

  1. 团块检测:周边高于(低于)中心点
  2. 边缘检测:像素值快速变化的区域

图像预处理之opencv卷积/滤波api图像预处理之opencv卷积/滤波api

laplacian = cv.Laplacian(img,cv.CV_64F)#对图像求二阶导数,一般用于边缘突出,在边缘检测中应用为Laplacian滤波

二、频率域处理