推文:图像平滑处理(归一化块滤波、高斯滤波、中值滤波、双边滤波)

推文:图像的平滑与滤波

模糊操作

三种模糊操作方式

均值模糊
中值模糊
自定义模糊(可以实现上面两种模糊方式)

原理:

图像处理:基础(模板、卷积运算)

图像处理-模板、卷积的整理

基于离散卷积
定义好每个卷积核
不同卷积核得到不同的卷积效果
模糊是卷积的一种表象

一:均值模糊blur

def blur_demo(image):   #均值模糊
dst = cv.blur(image,(,)) #ksize是卷积核大小1行3列,列数越大模糊越大
cv.imshow("blur_demo",dst)
opencv有一个专门的平均滤波模板供使用–归一化卷积模板,所有的滤波模板都是使卷积框覆盖区域所有像素点与模板相乘后得到的值作为中心像素的值。
Opencv中均值模板可以用cv2.blur和cv2.boxFilter,比如一个3*3的模板其实就可以如下表示:

模板大小是m*n是可以设置的。如果你不想要前面的1/,可以使用非归一化的模板cv2.boxFilter。

二:中值模糊mediaBlur

中值滤波模板就是用卷积框中像素的中值代替中心值,达到去噪声的目的。
这个模板一般用于去除椒盐噪声。
前面的滤波器都是用计算得到的一个新值来取代中心像素的值,而中值滤波是用中心像素周围(也可以使他本身)的值来取代他,卷积核的大小也是个奇数。
def median_blur_demo(image):   #中值模糊,对于椒盐噪声的去噪效果好,去掉图片中的一些黑点等
gray = cv.cvtColor(image,cv.COLOR_BGR2GRAY)
for i in range(): # 添加点噪声,白色
temp_x = np.random.randint(, gray.shape[])
temp_y = np.random.randint(, gray.shape[])
gray[temp_x][temp_y] = cv.imshow("median_blur_gray", gray)
dst = cv.medianBlur(gray,) #ksize是卷积核大小1行3列,列数越大模糊越大
cv.imshow("median_blur_demo",dst)

可以看到中值滤波对于这些白点噪声的去除是非常的好的。

三:自定义模糊filter2D(上面是封装在2D滤波器之上)

图像滤波函数imfilter函数的应用及其扩展

Opencv提供的一个通用的2D滤波函数为cv2.filter2D(),
滤波函数的使用需要一个核模板,对图像的滤波操作过程为:将和模板放在图像的一个像素A上,求与之对应的图像上的每个像素点的和,
核不同,得到的结果不同,而滤波的使用核心也是对于这个核模板的使用,需要注意的是,该滤波函数是单通道运算的,
也就是说对于彩色图像的滤波,需要将彩色图像的各个通道提取出来,对各个通道分别滤波才行。

(1)实现中值模糊

def custom_blur_demo(image):   #自定义模糊
kernel = np.ones([,],np.float32)/ #声明二维数组5*,初始化1,保证值不溢出,除以数组大小,实现中值模糊 自定义卷积核的算子
dst = cv.filter2D(image,-,kernel)
cv.imshow("custom_blur_demo",dst)
上述生成的5*5核模板其实就是一个均值滤波。,当我们是/25就是中值滤波,归一化处理

(2)实现锐化处理

def custom_blur_demo(image):   #自定义模糊
kernel = np.array([[,-,],[-,,-],[,-,]],np.float32) #实现锐化处理,提高图像的对比度,提高立体感,轮廓更加清晰
dst = cv.filter2D(image,-,kernel)
cv.imshow("custom_blur_demo",dst)

OpenCV---模糊操作的更多相关文章

  1. Python+OpenCV图像处理(七)—— 滤波与模糊操作

    过滤是信号和图像处理中基本的任务.其目的是根据应用环境的不同,选择性的提取图像中某些认为是重要的信息.过滤可以移除图像中的噪音.提取感兴趣的可视特征.允许图像重采样等等.频域分析将图像分成从低频到高频 ...

  2. opencv python:模糊操作

    均值模糊 中值模糊 自定义模糊 模糊操作的基本原理 基于离散卷积 定义好每个卷积核 不同卷积核得到不同的卷积效果 模糊是卷积的一种表象 blur cv2.blur(image, (1, 3)) 第二个 ...

  3. opencv 矩阵操作

    OpenCv矩阵操作 有很多函数有mask,代表掩码,如果某位mask是0,那么对应的src的那一位就不计算,mask要和矩阵/ROI/的大小相等 大多数函数支持ROI,如果图像ROI被设置,那么只处 ...

  4. OpenCV 填充(ROI)+模糊操作

    1.ROI 操作 src = cv.imread('./1.jpg') cv.imshow('src',src) dst = src[40:240,100:300] gray = cv.cvtColo ...

  5. python实现模糊操作

    目录: (一)模糊或平滑与滤波的介绍 (二)均值模糊 (1) 原理 (2)代码实现-----均值模糊函数blur() (三)中值模糊------mediaBlur函数 (四)高斯模糊------Gau ...

  6. opencv鼠标操作及GUI矩形绘画

    OpenCV的鼠标操作是通过一个中介函数配合回调函数来实现的.指定鼠标操作消息回调函数的函数为SetMouseCallback. void setMouseCallback(const string& ...

  7. OPENCV形态学操作1

    形态学操作是指基于形状的一系列图像处理操作,包括膨胀,腐蚀,二值化,开运算,闭运算,顶帽算法,黑帽算法,形态学梯度等,最基本的形态学操作就是膨胀和腐蚀. 一.膨胀 首先需要明确一个概念,膨胀和腐蚀都是 ...

  8. 基于PI+QT实现OpenCV图像处理操作(基本环境搭建)

    这篇博客就是在PI上直接写出来的!cheers!! PI3的性能已经非常强劲,而作为一个能够独立运行的运算单元,使用它来做图像处理,将是非常适合的.为了挖掘机器的最大潜能,我没有采用比较常见的pyth ...

  9. [OpenCV-Python] OpenCV 核心操作 部分 III

    部分 III核心操作 OpenCV-Python 中文教程(搬运)目录 9 图像的基础操作 目标 • 获取像素值并修改 • 获取图像的属性(信息) • 图像的 ROI() • 图像通道的拆分及合并几乎 ...

  10. [python-opencv] 模糊操作

    @不要在奋斗的年纪 选择安逸 均值模糊 中值模糊 自定义模糊 意义与应用场景 模糊的基本原理: 1.基于离散卷积 2.定义好每个卷积核 3.不同卷积核得到不同的卷积效果 4.模糊是卷积的一种表象 #均 ...

随机推荐

  1. daterangepicker时间段插件

    1.序言: daterangepicker是Bootstrap的一个时间组件,使用很方便 用于选择日期范围的JavaScript组件. 设计用于Bootstrap CSS框架. 它最初是为了改善报表而 ...

  2. C++ STL 优先队列 priority_queue 详解(转)

    转自https://blog.csdn.net/c20182030/article/details/70757660,感谢大佬. 优先队列 引入 优先队列是一种特殊的队列,在学习堆排序的时候就有所了解 ...

  3. Beta阶段中间产物

    空天猎功能说明书:https://git.coding.net/liusx0303/Plane.git 空天猎代码控制:https://coding.net/u/MR__Chen/p/SkyHunte ...

  4. 2014-2015 ACM-ICPC, NEERC, Eastern Subregional Contest Problem G. The Debut Album

    题目来源:http://codeforces.com/group/aUVPeyEnI2/contest/229669 时间限制:1s 空间限制:64MB 题目大意:给定n,a,b的值 求一个长度为n的 ...

  5. js中call(),apply(),以及prototype的含义

    最近段时间主要学习前端去了,然而所遇到的一些问题我觉得有必要去深究一下 prototype: 1 js中有三种表达方法 类方法,属性方法,原型方法 function People(name) { th ...

  6. QTcpServer实现多客户端连接

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QTcpServer实现多客户端连接     本文地址:https://www.techiel ...

  7. MachineLearning ---- lesson 1

    该博文系列是Andrew NG教授的课程笔记,有兴趣的朋友可以在Coursera或者网易公开课上找到该课程. Supervised Learning 下图是一个监督学习回归分析的例子.该图旨在预测房价 ...

  8. BZOJ 2427 软件安装(强连通分量+树形背包)

    题意:现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi.我们希望从中选择一些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即Vi的和最大).但是现在有 ...

  9. 【bzoj4244】邮戳拉力赛 背包dp

    题目描述 IOI铁路是由N+2个站点构成的直线线路.这条线路的车站从某一端的车站开始顺次标号为0...N+1. 这条路线上行驶的电车分为上行电车和下行电车两种,上行电车沿编号增大方向行驶,下行电车沿编 ...

  10. 【bzoj1430】小猴打架 Prufer序列

    题目描述 给出 $n$ 个点,每次选择任意一条边,问这样 $n-1$ 次后得到一棵树的方案数是多少. 输入 一个整数N. 输出 一行,方案数mod 9999991. 样例输入 4 样例输出 96 题解 ...