1.cv2.blur(img, (3, 3))  进行均值滤波

参数说明:img表示输入的图片, (3, 3) 表示进行均值滤波的方框大小

2. cv2.boxfilter(img, -1, (3, 3), normalize=True) 表示进行方框滤波,

参数说明当normalize=True时,与均值滤波结果相同, normalize=False,表示对加和后的结果不进行平均操作,大于255的使用255表示

3. cv2.Guassianblur(img, (3, 3), 1) 表示进行高斯滤波,

参数说明: 1表示σ, x表示与当前值得距离,计算出的G(x)表示权重值

4. cv2.medianBlur(img, 3) #中值滤波,相当于将9个值进行排序,取中值作为当前值

参数说明:img表示当前的图片,3表示当前的方框尺寸

在图像的读取中,会存在一些躁声点,如一些白噪声,因此我们需要进行去躁操作

代码:

1.原始图片的输入

2.使用cv2.blur进行均值滤波

3.使用cv2.boxfilter 进行方框滤波, 比较normalize=True or normalize=False

4.使用cv2.GussianBlur 进行高斯滤波

5. 使用cv2.medianBlur  进行中值滤波

6.做一个合并显示

import cv2
import numpy as np # 1.图片中存在一些噪音点
img = cv2.imread('lenaNoise.png')
cv2.imshow('original', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

# 2. cv2.blur 使用均值滤波,即当对一个值进行滤波时,使用当前值与周围8个值之和,取平均做为当前值

mean = cv2.blur(img, (3, 3))
cv2.imshow('mean', mean)
cv2.waitKey(0)
cv2.destroyAllWindows()

# 3. cv2.boxFilter 表示进行方框滤波
box = cv2.boxFilter(img, -1, (3, 3), normalize=True)
cv2.imshow('box', box)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 当normalize=False 表示对加和后的9个点,不进行求平均的操作,如果加和后的值大于255,使用255表示
box_1 = cv2.boxFilter(img, -1, (3, 3), normalize=False)
cv2.imshow('box_1', box_1)
cv2.waitKey(0)
cv2.destroyAllWindows()

               

# 4. cv2.GaussianBlur 根据高斯的距离对周围的点进行加权,求平均值1,0.8, 0.6, 0.8
gaussian = cv2.GaussianBlur(img, (5, 5), 1)
cv2.imshow('gaussian', gaussian)
cv2.waitKey(0)
cv2.destroyAllWindows()

# 5. cv2.medianBlur #将9个数据从小到大排列,取中间值作为当前值
median = cv2.medianBlur(img, 3)
cv2.imshow('median', median)
cv2.waitKey(0)
cv2.destroyAllWindows()

# 6. 做一个合并显示
imags = np.vstack((mean, gaussian, median))
cv2.imshow('all', imags)
cv2.waitKey(0)
cv2.destroyAllWindows()

机器学习进阶-阈值与平滑-图像平滑操作(去噪操作) 1. cv2.blur(均值滤波) 2.cv2.boxfilter(方框滤波) 3. cv2.Guassiannblur(进行高斯滤波) 4. cv2.medianBlur(进行中值滤波)的更多相关文章

  1. 机器学习进阶-阈值与平滑-图像阈值 1. cv2.threshold(进行阈值计算) 2. 参数type cv2.THRESH_BINARY(表示进行二值化阈值计算)

    1. ret, dst = cv2.thresh(src, thresh, maxval, type) 参数说明, src表示输入的图片, thresh表示阈值, maxval表示最大值, type表 ...

  2. OpenCV计算机视觉学习(4)——图像平滑处理(均值滤波,高斯滤波,中值滤波,双边滤波)

    如果需要处理的原图及代码,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice &q ...

  3. Atitit   图像处理 平滑 也称 模糊, 归一化块滤波、高斯滤波、中值滤波、双边滤波)

    Atitit   图像处理 平滑 也称 模糊, 归一化块滤波.高斯滤波.中值滤波.双边滤波) 是一项简单且使用频率很高的图像处理方法 用途 去噪 去雾 各种线性滤波器对图像进行平滑处理,相关OpenC ...

  4. 数学之路-python计算实战(17)-机器视觉-滤波去噪(中值滤波)

    Blurs an image using the median filter. C++: void medianBlur(InputArray src, OutputArray dst, int ks ...

  5. opencv3 图片模糊操作-均值滤波 高斯滤波 中值滤波 双边滤波

    #include <iostream>#include <opencv2/opencv.hpp> using namespace std;using namespace cv; ...

  6. 数据平滑处理-均值|中值|Savitzky-Golay滤波器

    均值滤波器 均值滤波器是一种使用频次较高的线性滤波器.它的实现原理很简单,就是指定一个长度大小为奇数的窗口,使用窗口中所有数据的平均值来替换中间位置的值,然后平移该窗口,平移步长为 1,继续重复上述操 ...

  7. 机器学习进阶-案例实战-图像全景拼接-书籍SIFT特征点连接 1.cv2.drawMatches(对两个图像的关键点进行连线操作)

    1.cv2.drawMatches(imageA, kpsA, imageB, kpsB, matches[:10], None, flags=2)  # 对两个图像关键点进行连线操作 参数说明:im ...

  8. 机器学习进阶-项目实战-信用卡数字识别 1.cv2.findContour(找出轮廓) 2.cv2.boudingRect(轮廓外接矩阵位置) 3.cv2.threshold(图片二值化操作) 4.cv2.MORPH_TOPHAT(礼帽运算突出线条) 5.cv2.MORPH_CLOSE(闭运算图片内部膨胀) 6. cv2.resize(改变图像大小) 7.cv2.putText(在图片上放上文本)

    7. cv2.putText(img, text, loc, text_font, font_scale, color, linestick) # 参数说明:img表示输入图片,text表示需要填写的 ...

  9. 机器学习进阶-图像基本操作-数值计算 1.cv2.add(将图片进行加和) 2.cv2.resize(图片的维度变换) 3.cv2.addWeighted(将图片按照公式进行重叠操作)

    1.cv2.add(dog_img, cat_img)  # 进行图片的加和 参数说明: cv2.add将两个图片进行加和,大于255的使用255计数 2.cv2.resize(img, (500, ...

随机推荐

  1. 51nod1302 矩形面积交

    有2N个矩形,这些矩形被标号为0 ~ 2N-1,对于第i个矩形其长宽分别为X[i]与Y[i].现在要把这2N个矩形分为两组,每组N个,每个矩形恰好分到两组中的一组里.分成两组后,设两组分别为A组.B组 ...

  2. P1258小车问题

    传送 很多人质疑它是二分,但其实它就是二分(我会说我不会解方程吗) 据说有很多人没看懂题干在说些什么,那就不要管题干了.拿样例算一遍,我们看看样例的答案是怎么算出来的. 这是样例.看到这个数,我们很懵 ...

  3. spring4.0之五:@Conditional在满足特定条件下,才会实例化对象

    这篇文章介绍Spring 4的@Conditional注解. 一.在Spring的早期版本你可以通过以下方法来处理条件问题 3.1之前的版本,使用Spring Expression Language( ...

  4. OpenStack 创建虚机过程简要汇总

    1. 总体流程 翻译自原文(英文):https://ilearnstack.com/2013/04/26/request-flow-for-provisioning-instance-in-opens ...

  5. 敏捷软件开发——第8章 SRP:单一职责原则

    第8章 SRP:单一职责原则 一个类应该只有一个发生变化的原因. 8.1 定义职责 在SRP中我们把职责定义为变化的原因.如果你想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责.同时,我 ...

  6. 1118 Birds in Forest (25 分)

    1118 Birds in Forest (25 分) Some scientists took pictures of thousands of birds in a forest. Assume ...

  7. 计划任务at、crontab

    at一次性计划任务 格式: at + 时间 命令 安装at # yum install at -y 如果执行at命令时,出现一下情况 Can't open /var/run/atd.pid to si ...

  8. sshd服务安装

    SSHD服务 介绍:SSH 协议:安全外壳协议.为 Secure Shell 的缩写.SSH 为建立在应用层和传输层基础上的安全协议. 作用:sshd服务使用SSH协议可以用来进行远程控制, 或在计算 ...

  9. Centos7 配置ssh连接

    Centos7 配置ssh连接 1.检查是否安装openssh-server:#yum list installed | grep openssh-server 安装openssh-server:#y ...

  10. Round544div3E(1133E)

    一.题目链接 https://codeforces.com/problemset/problem/1133/E 二.思路 显然要使用dp,因为中间有部分人不会选取. 令$dp[i][j]$表示在前$i ...