第3章 - 灰度变换与空间滤波
文章平均质量分 72
了解空间域图像处理的意义,以及它与变换域处理的区别
jasneik
虽然快奔4了,但抵挡不信对图像处理与人工智能的技术狂热的追求。
不在工作中暴发,就是学习中暴发。
展开
-
第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波18 - 低通、高通、带阻和带通滤波器、组合使用空间增强方法
低通、高通、带阻和带通滤波器得到空间滤波器的第三种方法,生成一维滤波器函数,然后要么使用式(3.42)w=vvTw = vv^Tw=vvT生成二维可分离的滤波器函数,要么旋转这些一维函数来生成二维核。旋转后的一维函数是圆对称(各向同性)函数的近似。# 低通、高通、带阻和带通滤波器x = np.arange(100)y = np.where(x > 50, x, 1)lp = np.where(x < 50, y, 0)hp = 1 - lpplt.figure(figsize=原创 2021-02-09 11:11:47 · 847 阅读 · 0 评论 -
第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波17 - 锐化高通滤波器 - 梯度图像(罗伯特,Sobel算子)
目录锐化(高通)空间滤波器使用一阶导数锐化图像-梯度锐化(高通)空间滤波器平滑通过称为低通滤波类似于积分运算锐化通常称为高通滤波微分运算高过(负责细节的)高频,衰减或抑制低频使用一阶导数锐化图像-梯度在图像处理中,一阶导数是用梯度幅度实现的,图像的梯度定义为二维列向量∇f≡grad(f)=[gxgy]=[∂f/∂x∂f/∂y ](3.57)\nabla f \equiv \text{grad}(f) = \begin{bmatrix} g_x \\ g_y \end{bmat原创 2021-02-09 11:08:59 · 1370 阅读 · 0 评论 -
第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波16 - 锐化高通滤波器 - 钝化掩蔽和高提升滤波
目录锐化(高通)空间滤波器钝化掩蔽和高提升滤波锐化(高通)空间滤波器平滑通过称为低通滤波类似于积分运算锐化通常称为高通滤波微分运算高过(负责细节的)高频,衰减或抑制低频钝化掩蔽和高提升滤波钝化掩蔽从原图像中减去一幅钝化(平滑后的)图像步骤:模糊原图像从原图像减去模糊后的图像(产生的差称为模板)将模板与原图像相加令fˉ(x,y)\bar f(x,y)fˉ(x,y)表示模糊后的图像,则有gmask(x,y)=f(x,y)−fˉ(x,y)(3.55)g_{m原创 2021-02-09 11:00:01 · 943 阅读 · 0 评论 -
第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波15 - 锐化高通滤波器 -拉普拉斯核(二阶导数)
目录锐化(高通)空间滤波器基础 - 一阶导数和二阶导数的锐化滤波器二阶导数锐化图像--拉普拉斯锐化(高通)空间滤波器平滑通过称为低通滤波类似于积分运算锐化通常称为高通滤波微分运算高过(负责细节的)高频,衰减或抑制低频基础 - 一阶导数和二阶导数的锐化滤波器数字函数的导数是用差分来定义的。定义这些差分的方法有多种一阶导数的任何定义都要满足如下要求:恒定灰度区域的一阶导数必须为0灰度台阶或斜坡开始处的一阶导数必须非零。灰度斜坡上的一阶导数必须非零。二阶导数的任何定义都要满足如下原创 2021-02-09 10:56:40 · 1388 阅读 · 0 评论 -
第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波14 - 平滑低通滤波器 -高斯滤波器核的生成方法
目录平滑(低通)空间滤波器低通高斯滤波器核统计排序(非线性)滤波器平滑(低通)空间滤波器平滑(也称平均)空间滤波器用于降低灰度的急剧过渡在图像重取样之前平滑图像以减少混淆用于减少图像中无关细节平滑因灰度级数量不足导致的图像中的伪轮廓平滑核与一幅图像的卷积会模糊图像低通高斯滤波器核高斯核是唯一可分离的圆对称(也称各向同性,意味它们的响应与方向无关)核。w(s,t)=G(s,t)=Ke−s2+t22σ2(3.45)w(s,t) = G(s,t) = K e^{-\frac{s^2 + t^原创 2021-02-09 10:48:14 · 897 阅读 · 2 评论 -
第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波13 - 平滑低通滤波器 -盒式滤波器核
这里写目录标题平滑(低通)空间滤波器盒式滤波器核平滑(低通)空间滤波器平滑(也称平均)空间滤波器用于降低灰度的急剧过渡在图像重取样之前平滑图像以减少混淆用于减少图像中无关细节平滑因灰度级数量不足导致的图像中的伪轮廓平滑核与一幅图像的卷积会模糊图像盒式滤波器核盒式核是最简单的可分离低通滤波器,其系数的值相同(通常为1)m×nm\times{n}m×n的盒式滤波器为1的一个m×nm\times{n}m×n的阵列,其前面有一个归一化的常数,通过是1除以系数值之和(通过是1/mn1/mn1/m原创 2021-02-09 10:41:50 · 1087 阅读 · 0 评论 -
第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波12 - 空间域滤波基础 - 卷积运算(numpy 实现的三种卷积运算)
这篇文章比较长,请耐心看空间域滤波基础线性滤波可分离滤波器核第一种卷积方法(公式法)第二种卷积的方法(可分离核)第三种方法(img2col)书上的一些习题这是分离核与公式法的结果对比下面是各种卷积的运算时间的比较先上基础,后面有许多的程序代码空间域滤波基础滤波是指通过、修改或抑制图像的规定频率分量通过低频的滤波器称为低通滤波器通过模糊图像来平滑图像通过高频的滤波器称为高通滤波器线性空间滤波器空间滤波通过把每个像素的值替换为该像素及其邻域的函数值来修改图像,如果 对图像像素原创 2021-02-09 10:05:58 · 1146 阅读 · 0 评论 -
第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波1 - 灰度变换和空间滤波基础、Sigmoid激活函数
这里写目录标题本节的目标背景灰度变换和空间滤波基础本节的目标了解空间域图像处理的意义,以及它与变换域图像处理的区别熟悉灰度变换所有的主要技术了解直方图的意义以及如何操作直方图来增强图像了解空间滤波的原理import sysimport numpy as npimport cv2import matplotlib import matplotlib.pyplot as pltimport PILfrom PIL import Imageprint(f"Python versio原创 2021-02-04 13:05:40 · 826 阅读 · 2 评论 -
第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波2 - 图像反转、对数变换
目录一些基本的灰度变换函数图像反转对数变换一些基本的灰度变换函数如下图显示了在图像处理中频繁使用的3类基本函数:线性(反转和恒等变换)函数对数(对数和反对数变换)函数幂律(nnn次幂和nnn次根变换)函数# 灰度变换函数为了图像好看,归一化后再乘于255,缩放到相同的数值范围x = np.arange(0, 256, 1)x1 = x + 1equal = normalize(x) * 255revers = (1 - normalize(x)) * 255log原创 2021-02-04 13:15:07 · 924 阅读 · 0 评论 -
第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波3 -幂律变换、伽马变换
目录幂律(伽马)变换幂律(伽马)变换s=crγ(3.5)s = c r^{\gamma} \tag{3.5}s=crγ(3.5)c和γc和\gammac和γ是正常数。考虑到偏移(即输入为0时的一个可度量输出),可改写为s=c(r+ϵ)γs = c (r + \epsilon) ^{\gamma}s=c(r+ϵ)γ用于获取、打印和显示图像的许多设备的响应遵守幂律。用于校正这些幂律响应现象的处理称为伽马校正或伽马编码。我们感兴趣的是曲线的形状,而不是它们的相对值# 伽马变换不同伽马值的图像,为了图像原创 2021-02-04 13:16:44 · 1262 阅读 · 1 评论 -
第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波4 - 分段线性变换 - 对比度拉伸
目录分段线性变换对比度拉伸最大最小值拉伸分段线性变换优点形式可以任意复杂缺点要求用户输入很多参数对比度拉伸光照不足、成像传感器的动态范围偏小、图像获取过程中镜头孔径的设置错误点(r1,s1)和点(r2,s2)(r_1, s_1)和点(r_2, s_2)(r1,s1)和点(r2,s2)的位置控制变换函数的形状图3,令(r1,s1)=(rmin,0),(r2,s2)=(rmax,L−1)(r_1, s_1) = (r_{min}, 0), (r_2, s_2) =原创 2021-02-04 13:27:49 · 1445 阅读 · 3 评论 -
第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波5 - 分段线性变换 - 灰度级分层
目录灰度级分层灰度级分层二值图像将感兴趣范围内的所有灰显示为一个值(白色),而将其它灰度值显示为另一个值(黑色)其他灰度级不变使期望的灰度范围变量(或变暗),但保持图像中的其它灰度级不变x = np.arange(0, 256)y_1 = np.where(x, x >= 100, 0)y_1 = np.where(y_1, x < 200, 0) * 150a = 70b = 150y_2 = np.zeros_like(x)for i in ra原创 2021-02-04 13:28:02 · 540 阅读 · 0 评论 -
第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波6 - 分段线性变换 - 比特平面分层
目录比特平面分层比特平面分层在一幅256级灰度图像中,图像的值是由8比特(1字节)组成的def convert_bin(data, n): """ convert decimal to binary, return n th bit, 0 if bit value 0 else 1 """#------------------numpy------------ x = np.binary_repr(data, width=8) x = x[::-1]原创 2021-02-04 13:29:44 · 382 阅读 · 0 评论 -
第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波7 - 直方图处理 - 直方图、归一化直方图
目录直方图处理直方图处理令rk,k=0,1,2,…,L−1r_k, k=0, 1, 2, \dots, L-1rk,k=0,1,2,…,L−1表于一幅LLL级灰度数字图像f(x,y)f(x,y)f(x,y)的灰度。fff的非归一化直方图定义为:h(rk)=nk,k=0,1,2,…,L−1(3.6)h(r_{k}) = n_{k}, \quad k = 0, 1, 2, \dots, L-1 \tag{3.6}h(rk)=nk,k=0,1,2,…,L−1(3.6)nk是fn_{k}是fnk是f原创 2021-02-04 13:34:22 · 638 阅读 · 0 评论 -
第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波8 - 直方图处理 - 直方图均衡化(全局直方图均衡化)
直方图均衡化灰度映射函数:s=T(r),0≤r≤L−1(3.8)s = T(r), \quad 0\leq r \leq L -1 \tag{3.8}s=T(r),0≤r≤L−1(3.8)假设:(1) T(r)T(r)T(r)在区间 $0 \leq r \leq L-1 $上是一个单调递增函数。(2) 对于$0 \leq r \leq L-1 $,有$0 \leq T® \leq L-1 $。逆变换r=T−1(s),0≤s≤L−1(3.9) r = T^{-1}(s), \原创 2021-02-04 13:36:41 · 539 阅读 · 2 评论 -
第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波9 - 直方图处理 - 直方图匹配(规定化)灰度图像,彩色图像都适用
直方图匹配(规定化)连续灰度s=T(r)=(L−1)∫0rpr(w)dw(3.17) s = T(r) = (L-1) \int_{0}^{r} p_r(w) \text{d} w \tag{3.17} s=T(r)=(L−1)∫0rpr(w)dw(3.17)定义关于变量zzz的一个函数GGG,它具有如下性质:G(z)=(L−1)∫0zpz(v)dv=s(3.18) G(z) = (L - 1) \int_{0}^{z} p_z(v) \text{d} v = s \tag{3.18} G(z原创 2021-02-04 13:51:00 · 432 阅读 · 4 评论 -
第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波10 - 直方图处理 - 局部直方图处理
局部直方图处理因为像素是由基于整个图像的灰度的变换函数修改的。这种全局性方法适合于整体增强,但当目的是增强图像中几个小区域的细节时,通常就会失败。这是因为在这些小区域中,像素的数量对计算全局变换的影响可以忽略。解决方法是设计基于像素邻域的灰度分布的变换函数。原创 2021-02-04 13:52:51 · 438 阅读 · 0 评论 -
第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波11 - 直方图处理 - 使用直方图统计量增强图像
使用直方图统计量增强图像直方图统计量增强图像要优于局部直方图均衡化处理。原创 2021-02-04 13:54:35 · 576 阅读 · 0 评论