边缘检测后去除噪点_图片背景处理与噪点去除

本文介绍了数字图像处理中去除噪点的方法,包括高斯模糊降低高频成分,灰度二值化和Canny边缘检测。通过OpenCV库实现,重点展示了高斯模糊、灰度二值化和Canny边缘检测的代码示例,并利用连通域检测进一步去除图像中的噪点。
摘要由CSDN通过智能技术生成

概述

本文主要讲述的是数字图像处理中对图像背景的处理以及图片噪点的去除,运用到的方法有高斯模糊、灰度二值化、连通域检检测

1.算法原理

高斯模糊

引用Wikipedia的两句话:

Mathematically, applying a Gaussian blur to an image is the same as convolving the image with a Gaussian function.

数学上讲,对图像做高斯模糊等同于将图像与高斯函数卷积。

Since the Fourier transform of a Gaussian is another Gaussian, applying a Gaussian blur has the effect of reducing the image’s high-frequency components; a Gaussian blur is thus a low pass filter.

由于高斯分布的傅里叶变换仍然是高斯分布,使用高斯模糊就减少了图像的高频分量,因此高斯模糊是低通滤波器。

关于高斯模糊的原理可以参考:高斯模糊原理

使用openCV只需要一行代码即可以实现高斯模糊:

blur = cv2.GaussianBlur(img,(5,5),0)

这里(5, 5)表示高斯矩阵的长与宽都是5,标准差取0时OpenCV会根据高斯矩阵的尺寸自己计算。概括地讲,高斯矩阵的尺寸越大,标准差越大,处理过的图像模糊程度越大。

灰度二值化

先解释一下灰度:

灰度是指只含亮度信息,不含色彩信息的图像。黑白照片就是灰度图,特点是亮度由暗到明,变化是连续的

用个例子来说明吧:一个256级灰度的图象,如果RGB三个量相同时,如:RGB(100,100,100)就代表灰度为100,RGB(50,50,50)代表灰度为50。

原理参考:图像灰度化

在OpenCV中的用法:

gray = cv2.cvtColor(pic,cv2.COLOR_BGR2GRAY)

再解释一下二值化:

图像的二值化是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果。

原理说起来很简单,就是灰度大于 阈值(Threshold) 的时候将灰度值设为255,小于则设为0,当然还有很多其他的二值化方法,参考博客:几种不同的Threshold类型

在O

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值