OpenCV

这篇博客介绍了图像处理中的几种噪声去除方法,包括均值滤波、方框滤波、高斯滤波和中值滤波,并强调中值滤波在去除噪声方面的优秀效果。同时,还展示了使用Canny算子进行边缘检测的应用,通过Canny算法对图像进行边缘检测以突出图像轮廓。
摘要由CSDN通过智能技术生成

图像的的基本操作

去除图片噪音的几种方式如下:

均值滤波

方框滤波

高斯滤波

中值滤波(效果最好)

candy进行边缘检测(其中用的是sobel算子)

import cv2 as cv
import numpy as np

image = cv.imread("D:\APP\PycharmProjects\pythonProject\learn_opencv\images\sp_noise.png")

# cv.imshow("image",image)

# 均值滤波
# 简单的平均卷积操作
blur = cv.blur(image,(3,3))
# cv.imshow("blur",blur)

# 方框滤波
# 基本和均值一样,可以选择归一化
box = cv.boxFilter(image,-1,(3,3),normalize=True)
# box = cv.boxFilter(image,-1,(3,3),normalize=False)
# cv.imshow("box",box)

# 高斯滤波
# 高斯模糊的卷积核里面的数值是满足高斯分布,相当于更加重视中间的
gussian = cv.GaussianBlur(image,(5,5),1)
cv.imshow("gaussian",gussian)

# 中值滤波(去掉噪音的效果最好)
# 相当于用中值替代
mdeian = cv.medianBlur(image,5)
# cv.imshow("median",mdeian)

# 显示所有的
res = np.hstack((blur,gussian,mdeian))
# print(res)
cv.imshow("all",res)

# candy进行边缘检测

img = cv.imread("D:\APP\PycharmProjects\pythonProject\learn_opencv\images\lena.png",cv.IMREAD_GRAYSCALE)

candy1 = cv.Canny(img,70,150)
candy2 = cv.Canny(img,120,150)
candy = np.hstack((candy1,candy2))
cv.imshow("candy",candy)


cv.waitKey(0)
cv.destroyAllWindows()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值