【OpenCV_python】噪点消除(滤波) 边缘检测Canny算法 轮廓绘制

图片降噪

  1. 均值滤波blur
    中心点的像素值等于核值区域的平均值

import cv2
img_gs = cv2.imread('./media/lvbo2.png') # 高斯噪声
img_jy = cv2.imread('./media/lvbo3.png') # 椒盐噪声

def buler():
	img_jz1= cv2.blur(img_gs,(3,3))
    img_jz2= cv2.blur(img_jy,(3,3))
    cv2.imshow('img_jz1',img_jz1)
    cv2.imshow('img_jz2',img_jz2)

buler()

cv2.imshow('img_gs',img_gs)
cv2.imshow('img_jy',img_jy)

cv2.waitKey(0)

高斯噪声,比较均匀的噪点
椒盐噪声
在这里插入图片描述

在这里插入图片描述

  1. 方框滤波boxFilter
  • normalize=False 中心点的像素值等于核区域像素的总和
  • normalize=True 默认为True 就是均值滤波
    img_jz1 = cv2.boxFilter(img_gs,-1,(3,3),normalize=False )  # [图像]  [输出图像的深度,-1是原图像的深度]  [核的大小]
    img_jz2 = cv2.boxFilter(img_jy,-1,(3,3))
    cv2.imshow('img_jz1',img_jz1)
    cv2.imshow('img_jz2',img_jz2)

在这里插入图片描述
在这里插入图片描述

  1. 高斯滤波GaussianBlur
    核的权重取决于高斯函数并取近似值,对应的像素乘以权重相加得到中心点的像素值
    sigma的值 模糊效果越明显 (中心点的权重变小)
    g ( x , y ) = 1 2 π σ 2 e − ( x 2 + y 2 ) 2 σ 2 g(x,y)=\frac{1}{2\pi\sigma^{2}}e^{-\frac{(x^{2}+y^{2})}{2\sigma^{2}}} g(x,y)=2πσ21e2σ2(x2+y2)
    如3*3的核权重矩阵是[[1/16,1/8,1/16],[1/8,1/4,1/8],[1/16,1/8,1/16]]
    img_jz1 = cv2.GaussianBlur(img_jy,(3,3),10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值