机器学习进阶-阈值与平滑-图像平滑操作(去噪操作) 1. cv2.blur(均值滤波) 2.cv2.boxfilter(方框滤波) 3. cv2.Guassiannblur(进行高斯滤波) 4. cv2.medianBlur(进行中值滤波)
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. cv2.threshold(进行阈值计算) 2. 参数type cv2.THRESH_BINARY(表示进行二值化阈值计算)
1. ret, dst = cv2.thresh(src, thresh, maxval, type) 参数说明, src表示输入的图片, thresh表示阈值, maxval表示最大值, type表 ...
- OpenCV计算机视觉学习(4)——图像平滑处理(均值滤波,高斯滤波,中值滤波,双边滤波)
如果需要处理的原图及代码,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice &q ...
- Atitit 图像处理 平滑 也称 模糊, 归一化块滤波、高斯滤波、中值滤波、双边滤波)
Atitit 图像处理 平滑 也称 模糊, 归一化块滤波.高斯滤波.中值滤波.双边滤波) 是一项简单且使用频率很高的图像处理方法 用途 去噪 去雾 各种线性滤波器对图像进行平滑处理,相关OpenC ...
- 数学之路-python计算实战(17)-机器视觉-滤波去噪(中值滤波)
Blurs an image using the median filter. C++: void medianBlur(InputArray src, OutputArray dst, int ks ...
- opencv3 图片模糊操作-均值滤波 高斯滤波 中值滤波 双边滤波
#include <iostream>#include <opencv2/opencv.hpp> using namespace std;using namespace cv; ...
- 数据平滑处理-均值|中值|Savitzky-Golay滤波器
均值滤波器 均值滤波器是一种使用频次较高的线性滤波器.它的实现原理很简单,就是指定一个长度大小为奇数的窗口,使用窗口中所有数据的平均值来替换中间位置的值,然后平移该窗口,平移步长为 1,继续重复上述操 ...
- 机器学习进阶-案例实战-图像全景拼接-书籍SIFT特征点连接 1.cv2.drawMatches(对两个图像的关键点进行连线操作)
1.cv2.drawMatches(imageA, kpsA, imageB, kpsB, matches[:10], None, flags=2) # 对两个图像关键点进行连线操作 参数说明:im ...
- 机器学习进阶-项目实战-信用卡数字识别 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表示需要填写的 ...
- 机器学习进阶-图像基本操作-数值计算 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, ...
随机推荐
- 51nod1302 矩形面积交
有2N个矩形,这些矩形被标号为0 ~ 2N-1,对于第i个矩形其长宽分别为X[i]与Y[i].现在要把这2N个矩形分为两组,每组N个,每个矩形恰好分到两组中的一组里.分成两组后,设两组分别为A组.B组 ...
- P1258小车问题
传送 很多人质疑它是二分,但其实它就是二分(我会说我不会解方程吗) 据说有很多人没看懂题干在说些什么,那就不要管题干了.拿样例算一遍,我们看看样例的答案是怎么算出来的. 这是样例.看到这个数,我们很懵 ...
- spring4.0之五:@Conditional在满足特定条件下,才会实例化对象
这篇文章介绍Spring 4的@Conditional注解. 一.在Spring的早期版本你可以通过以下方法来处理条件问题 3.1之前的版本,使用Spring Expression Language( ...
- OpenStack 创建虚机过程简要汇总
1. 总体流程 翻译自原文(英文):https://ilearnstack.com/2013/04/26/request-flow-for-provisioning-instance-in-opens ...
- 敏捷软件开发——第8章 SRP:单一职责原则
第8章 SRP:单一职责原则 一个类应该只有一个发生变化的原因. 8.1 定义职责 在SRP中我们把职责定义为变化的原因.如果你想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责.同时,我 ...
- 1118 Birds in Forest (25 分)
1118 Birds in Forest (25 分) Some scientists took pictures of thousands of birds in a forest. Assume ...
- 计划任务at、crontab
at一次性计划任务 格式: at + 时间 命令 安装at # yum install at -y 如果执行at命令时,出现一下情况 Can't open /var/run/atd.pid to si ...
- sshd服务安装
SSHD服务 介绍:SSH 协议:安全外壳协议.为 Secure Shell 的缩写.SSH 为建立在应用层和传输层基础上的安全协议. 作用:sshd服务使用SSH协议可以用来进行远程控制, 或在计算 ...
- Centos7 配置ssh连接
Centos7 配置ssh连接 1.检查是否安装openssh-server:#yum list installed | grep openssh-server 安装openssh-server:#y ...
- Round544div3E(1133E)
一.题目链接 https://codeforces.com/problemset/problem/1133/E 二.思路 显然要使用dp,因为中间有部分人不会选取. 令$dp[i][j]$表示在前$i ...