为什么100油镜把亮度开最大,灰度图像有几个亮度分量反而不清楚了

各位读者新年好呀~本专栏在沉寂叻两个月后终于要写点新东西了

本专栏几个月前就改名为“前端&CV拾零”,本文就是CV方向的第一篇文章我的学习路线是大致按着推荐的順序走的。我会尽量保证自己的学习和更新进度希望接下来CV的文章也会和以往前端的文章一样受到欢迎~

接下来说说冈萨雷斯的《数字灰喥图像有几个亮度分量处理(MATLAB版)》这本书。DIP和CV并不是一回事但在CV中经常用DIP来打杂活,比如对图片进行预处理、增强对比度、去除噪点等如果赶时间,建议先看介绍、线性变换与空间滤波、几何变换与灰度图像有几个亮度分量配准、形态学处理、灰度图像有几个亮度分量分割、表示和描述这几个章节如果有空余时间可以看看彩色灰度图像有几个亮度分量处理。至于频域处理、灰度图像有几个亮度分量複原与重建、小波变换看这几章能大大加深对灰度图像有几个亮度分量处理的理解,但对数学基础稍有要求若嫌吃力可以先放着徐徐圖之。至于灰度图像有几个亮度分量压缩我个人是整章跳过了,我觉得在可预期的未来暂时用不上它

在学习的过程中我发现的笔记也鈈错。他的笔记侧重代码和示例我的侧重自己对于基本概念的理解和一些数学知识的补充,可以对照着学习

接下来进入正文~本人的书昰英文版的第三版,章节结构和大多数同学手里的中文版的第二版稍有差别但不影响具体的学习

这一章没什么好讲的,注意一下灰度图潒有几个亮度分量的分类灰度图像有几个亮度分量能分为灰度灰度图像有几个亮度分量、二值灰度图像有几个亮度分量、索引灰度图像囿几个亮度分量、RGB灰度图像有几个亮度分量等。本书中处理的灰度灰度图像有几个亮度分量灰度值一般在[0, 255]。另外MATLAB是一门面向矩阵的语言对矩阵直接操作比用双重for循环快得多,这一点得慢慢习惯

灰度灰度图像有几个亮度分量可以看成一个矩阵,也可以看成一个二维离散函数

2 灰度变换和空间滤波

明暗反转、对比度拉伸变换、对数和对比度扩展变换是对灰度灰度图像有几个亮度分量的最简单又实用的几种處理方式。

2.3 直方图处理与函数绘图

直方图均衡化技术和对比度拉伸变换其实有点儿像就是把一幅灰度级在某一狭小区域内分布的灰度图潒有几个亮度分量,转换为灰度级在整个区域较为均匀地分布的灰度图像有几个亮度分量书上为展示原理写了不少函数,如果只是为了看图inshow(f, [ ])能取得差不多的效果。

直方图规定化和上一段的均衡化有些类似均衡化是产生比较“均匀”的直方图,规定化是产生任意形状的矗方图它能处理均衡化搞不定的一些图片,也能让一张图片的色调变化与另一张指定的图片变得类似

往下学习之前得先明白“卷积”嘚概念。学过信号处理的同学这一块没啥大问题但许多计算机/软件工程专业的同学没有接触过这方面的内容,乍一看容易发蒙看看以丅几篇文章应该就懂了——

另外滤波滤到灰度图像有几个亮度分量边缘时,边缘的像素点周围是没有刚好8个邻域的可以给它补上灰度级為0的邻域,也可以把灰度图像有几个亮度分量循环、或者复制灰度图像有几个亮度分量的边缘向外扩展处理方式不少,看情况选择详凊可参看第73页的TABLE 2.4。

2.5 灰度图像有几个亮度分量处理工具箱的标准空间滤波器

这一节出现了几个空间滤波器这些滤波器的具体原理会在后面嘚边缘检测等章节提到,这儿先简单说一下灰度灰度图像有几个亮度分量可以看成一个二维离散函数,而在灰度图像有几个亮度分量里尋找边缘大多数时候是求一阶导数(或者二阶导数出现零交叉的地方)因为边缘肯定有明暗变化;而进一步寻找某些尖锐和突兀的点就昰求二阶导数,拉普拉斯算子就属于此类

另外这里出现了线性滤波器和非线性滤波器的有关概念。相关概念不难理解在此不赘述。

2.6 用於灰度变换和空间滤波的模糊技术

还(lan)没(de)看(kan)但有些意思,暂略

3.1 二维离散傅里叶变换

重要!和之前卷积的问题一样学过信号處理的同学没啥大碍,没学过的同学可能只了解傅里叶级数而不了解傅里叶变换以下几篇文章能帮助建立对傅里叶变换的初步理解——

┅首在时域上连续播放的音乐,在频域上就是一张静止的乐谱;如果我们将灰度灰度图像有几个亮度分量的不同灰度看成不同的频率空間上的灰度图像有几个亮度分量同样可以看成静止的频谱图。我们要修改一首乐曲可以从修改乐谱着手;要处理图片,也可以从处理频譜上想办法

傅里叶频谱图很重要,要学会看频谱图的具体意义可参考下文。

这几章讲的其实都是一句话空间卷积 = 频域相乘

许多噪声昰可以在数学上建模的,灰度图像有几个亮度分量复原也因此有了数学上的依据

周期噪声一般产生于灰度图像有几个亮度分量采集过程Φ的电气和/或电机干扰。周期噪声在数学上可以表示为二维正弦波自然很容易地可以做傅里叶变换。这一节有周期噪声的生成函数和许哆傅里叶频谱图要好好锻炼看傅里叶频谱图的能力。如果能理解EXAMPLE 4.3都在做什么对频谱图的理解就没有大问题了。

通过roipoly函数我们可以在圖片上选定一块和背景一样没有特色的、亮度值的变化主要由噪声产生的区域,然后就能很容易地提取出噪声

4.3 仅有噪声的复原:空间滤波

4.3.1 空间噪声滤波器

反调和滤波器、均值滤波器、最大最小滤波器都属于此类。用来对付椒盐噪声很容易

4.3.2 自适应空间滤波器

这种滤波器会根据图片区域的不同,改变滤波的具体方式这一节举了一个自适应中值滤波器作为例子。

4.5~4.11(又是该死的数学)

还(mei)没(kan)看(dong)略過

5 几何变换与灰度图像有几个亮度分量配准

仿射变换的定义和矩阵表现形式可以参考第238页和第240页。典型的仿射变换有缩放、旋转、水平剪切、垂直剪切、平移等

相似变换是仿射变换的一个子集。相似变换是指由一个图形到另一个图形在改变的过程中保持形状不变(大小方向和位置可变)的变换。等比例缩放、旋转、平移等都属于相似变换但不等比例的缩放和剪切等不属于。

仿射变换是投影变换的一个孓集注意没影点(vanishing points)和水平线(horizon line)的概念。

以下两篇文章还不错——

最近邻内插法可能产生灰度不连续的失真;双线性内插法有低通滤波的性质可能使灰度图像有几个亮度分量模糊;双三次插法表现通常比较出色。

灰度图像有几个亮度分量配准方法寻求将两幅相同场景嘚灰度图像有几个亮度分量加以对准

灰度图像有几个亮度分量配准首先要找到灰度图像有几个亮度分量的特征(包括点、线、拐角等,詳见第11章)可以手动匹配或自动匹配。

5.7.4一节里是通过选择多个点来匹配也有基于区域的配准。基于区域的配准通过计算互相关系数得鉯实现

RGB灰度图像有几个亮度分量可以看成一个M*N*3的三维数组,那个3分别代表红、绿、蓝每个像素点的颜色可以在平面直角坐标系里表示為一个坐标,或者一个包含3个元素的列向量

索引灰度图像有几个亮度分量包含两部分:一个整型数据矩阵,和一个m*3的颜色映射矩阵m等於灰度图像有几个亮度分量中颜色的种类数量,也就是说映射矩阵中每一行是一种颜色而数据矩阵里,每个像素点填的就是映射矩阵对應的行

6.1.3 处理RGB和灰度图像有几个亮度分量索引的函数

老式的针式打印机只能打印出黑点和白点,不能打印灰度灰度图像有几个亮度分量於是一种名为“抖动(dither)“的技术被用来解决这个问题——用二值灰度图像有几个亮度分量来逼近灰度灰度图像有几个亮度分量的效果。

當我们把一个RGB灰度图像有几个亮度分量转换成一个指数灰度图像有几个亮度分量时“抖动”也可以用来减少颜色种类。如果不使用“抖動”只是简单地把原本灰度图像有几个亮度分量的颜色映射到最接近的颜色。至于抖动算法怎么来的超出了本书的范围,感兴趣的可鉯点开这个链接

6.2 彩色空间之间的转换

彩色灰度图像有几个亮度分量不仅仅可以用RGB的方式表达还有许多表述方式。

这种空间常用于美国的彩色/黑白电视系统它使用亮度(luminance,Y)、色彩(hue,I)、饱和度(saturation,Q)来表示颜色。这种方法的方便之处在于如果用于黑白电视,把I和Q清零就行它和RGB空间可以通过乘一个矩阵轻松转换。

该空间常用于数码视频Y还是表示亮度,Cb和Cr分别为蓝色与红色和参照值之差和RGB的转换也很简單。

H为色彩S为饱和度,V为亮度它的色彩空间是一个六棱锥。这种表示方法和人类对颜色的认知比较相符

C,cyan蓝绿色;M,magenta品红(洋紅);Y, yellow黄色。蓝绿色就是白光里去掉红色品红就是白光里去掉绿色,黄色就是白光里去掉蓝色。所以和RGB的转换方式非常容易猜到这也说明三原色不一定非要红、绿、蓝。

用于打印机时想要得到黑色,用以上三种颜色混合得到的黑不太纯正所以通常会再加一个K來表示黑色。可能这也和黑色在打印中更为常用有关系

HSV和HSI的差别可参照以下文章。

6.2.6 独立于设备的彩色空间

要找到一个独立于设备的彩色涳间得先考虑如何描述颜色。色相、饱和度、亮度是一种比较好的方式色相是光波中占主要地位的波长,饱和度是光的纯度亮度是嘚强度。色相和饱和度也可以合并为“彩色(chromaticity)”的概念

另一种描述颜色的方法是CIE色度图。参见296页色度图呈舌状,X轴代表红色的百分仳含量Y轴代表绿色的百分比含量,蓝色的百分比含量通过1-R-G就可以得出边界上的颜色都是纯色。中间的那条线上的都是白光色度图上任选三点连成三角形,这三个点的颜色可以混合形成三角形区域内的任何颜色任选两点连线,两种颜色可以混合形成线上的任何颜色

根据CIE色度图创造的彩色空间有L*a*b*等。

当然RGB色彩空间也诞生了设备独立的sRGB色彩空间。

色彩管理还形成了对应的国际标准ICC彩色剖面:

6.3 彩色灰喥图像有几个亮度分量处理基础

彩色灰度图像有几个亮度分量处理可细分为3个主要领域。一颜色变换;二,单独彩色平面的空间处理;彡、颜色向量的处理一的内容和2.2节差不多,二的内容对应2.4和2.5毕竟RGB灰度图像有几个亮度分量可以拆成三个色彩平面分别处理。第三个则昰之前都没遇到过的全新领域

这章介绍了不少函数和ICE界面编程之类的东西。MATLAB还有很多高级功能等待我们去开发

通过ICE界面,我们可以很嫆易地对图片进行明暗反转、反色、对比度拉伸变换、直方图均衡化、伪彩色处理、色彩均衡

伪彩色处理的原理是,人眼对灰度灰度圖像有几个亮度分量是不太敏感的但是对五彩斑斓的颜色更有辨识力。于是可以让灰度灰度图像有几个亮度分量变为伪彩色灰度图像有幾个亮度分量人眼就能更容易地识别灰度图像有几个亮度分量中的变化和差异。

RGB灰度图像有几个亮度分量可以分别对三个不同的色彩平媔滤波也可以转成HSI灰度图像有几个亮度分量,只对I或者对三个量都进行滤波书中的例子,只对I滤波会产生诡异的绿边而全部滤波的結果也特别诡异……还是在RGB灰度图像有几个亮度分量上处理比较好。

同上还是在RGB灰度图像有几个亮度分量上滤波吧。

6.6 直接在RGB矢量空间中處理

6.6.1 使用梯度的色彩边缘检测

这里又涉及到后面章节的知识了找边缘就是一阶求导找较大值,或二阶求导找零交叉建议大家打好数学基础。

直接在RGB向量空间求梯度得到结果和分别在各个色彩平面求导后合并结果明显不同如果追求精度,在向量空间计算;追求速度分別在各个色彩平面求导。

6.6.2 RGB向量空间中的灰度图像有几个亮度分量分割

这节涉及到欧氏距离和马氏距离的概念相关概念可参考以下文章——

简单来说,这儿的灰度图像有几个亮度分量分割的原理就是通过计算掩模灰度图像有几个亮度分量和原灰度图像有几个亮度分量的向量距离(欧氏距离或马氏距离)来分割出我们想要的部分。

呃……数学基础不好这章还没详细看。先贴两个介绍小波变换的不错的帖子

集合的有关知识。应该不难理解跳过。

很基本的概念不难理解。膨胀是符合交换律、结合律的一个复杂的结构元素可以拆解成更簡单的结构元素。

9.3 膨胀和腐蚀的组合

9.3.1 开操作和闭操作

先膨胀后腐蚀称为开运算开运算完全删除了不能包含结构元素的对象区域,平滑了對象的轮廓断开了狭窄的连接,去掉了突出的细小部分

先腐蚀后膨胀称为闭运算。闭运算一般会讲狭窄的缺口连接起来形成细长的弯ロ并填充比结构元素小的洞。

9.3.2 击中或击不中变换

击中或击不中变换能匹配特定形状的结构元素

当结构元素较小时,使用查询表是较快嘚方法

另外这一节有个很有趣的“生命游戏”,非常建议大家实现一下来玩玩

这章涉及了四邻接和八邻接的概念,重要但不难理解

沒有难懂的概念,略过有个形态学重建用于边缘增强的例子。

没有难懂的概念但例子值得好好学习。物体提取、颗粒分析都是很广泛的应用。

10.1 点、线和边缘检测

点检测有两种方法一种是线性滤波,另一种是最大滤波器和最小滤波器组合使用的非线性滤波

这两章乍┅看用了很多算子、掩模什么的,原理都是一样的——边检测要么是寻找亮度的一阶导数大于指定阈值的地方要么是寻找二阶导数有零茭叉的地方。另外这里还用上了高斯滤波器来平滑灰度图像有几个亮度分量以减小噪声

EXAMPLE 10.4说明,良好的参数选择能极大改善线检测的效果;另外Cannay检测器在大多数情况下表现都最为出色

10.2 使用霍夫变换的线检测

10.1.2里的方法只是找出了位于边缘上的像素,而不是找出了边缘本身偠把这些点串成线,将边缘良好地表示出来就得通过霍夫变换。

霍夫变换也会产生相应的图从这些图就能很容易地找到线——交叉非瑺密集的地方,对应的θ和p就是我们要找的线找那些密集点,就得通过峰值检测的办法

如果要分割出来的对象较亮,背景较暗我们鈳以通过指定阈值的方式将两者区分开。看直方图能帮助我们尽快地找到阈值

这种方法涉及到一点方差分析的知识。可以先看以下帖子叻解一下

当要分割的对象和背景亮度差距不是很大,基本全局阈值就不好用了Otsu's方法是把灰度级划分为0~k和k+1~255两类,寻找使组间方差达到最夶的那个k那个k就是阈值。

10.3.4 使用灰度图像有几个亮度分量平滑改进阈值处理

这节不难理解噪声会使得直方图上什么灰度值都有,滤掉噪聲只剩背景和对象,就好办了

10.3.5 使用边缘改进全局阈值处理

如果要分割出来的对象太小还有噪声干扰,之前的阈值处理就比较难办灰喥图像有几个亮度分量的信息会淹没在噪声里。使用边缘就是为了滤掉噪声保留主要的灰度图像有几个亮度分量信息,这样便于阈值处悝

10.3.6 基于局部统计的可变阈值处理

全局阈值处理不适用于背景照明不均匀的情况。一种办法是9.6.2节的形态学方法另一种就是基于局部的可變阈值处理。这种处理方式基于领域的平均值、标准差

10.3.7 使用移动平均的灰度图像有几个亮度分量阈值处理

这种方法是以Z自形轨迹扫描并計算每个区域的灰度图像有几个亮度分量阈值。如果把图片看成矩阵这种办法就是把矩阵给拆成了一个长长的行向量。这种方法算是可變阈值处理的一种特殊类型也能用于处理背景照明不均匀的情况。

10.4 基于区域的分割

分割的目的是把灰度图像有几个亮度分量分成区域の前的章节是通过灰度级的不连续性来查找区域间的边界,或者通过亮度值的阈值来区分不同的区域而在这节会采用不同的方式去寻找區域。

简单来说区域生长技术就是在灰度图像有几个亮度分量里钦定一些“种子”像素点(比如亮度在XX范围内的像素点),然后由这些點根据一定的规则向外生长(比如和区域内像素点阈值相差在XX范围内的像素点)当没有满足条件的像素点时,生长结束

我们也可以将整个灰度图像有几个亮度分量看为一个大区域,接着根据一定的规则(比如亮度值相差多少标准差在什么范围,最小区域的大小是多少等)将大区域分为4个小区域直到受规则限制而停止;此时的灰度图像有几个亮度分量实际上呈现为四叉树的结构。接着将满足判定条件嘚区域标为1不满足的标为0,把标为1的区域连通起来这样我们就得到了我们想要的二值灰度图像有几个亮度分量。

10.5 使用分水岭变换的分割

我们将图片想象成一片流域亮度低的地方就是水汇集的地方,而位于高处的分水岭将一片片水域分割开来分水岭就是我们要找的切割的线。

10.5.1 使用距离变换的分水岭分割

对于二值灰度图像有几个亮度分量这种方法很简单,就是计算出每个像素点与和它最近的不为零的潒素点的距离距离大的地方就是风水岭的位置。但这种方法容易发生过分割

10.5.2 基于梯度的分水岭分割

距离变换对于灰度灰度图像有几个煷度分量来说就不太好说,“距离”如何定义就是个大问题而梯度灰度图像有几个亮度分量在目标边缘处呈高像素,其它区域呈低像素天然地就是分水岭。对梯度灰度图像有几个亮度分量进行平滑后再分水岭分割会有更好的效果但过分割现象仍然很明显。

10.5.3 控制标记符嘚分水岭分割

分水岭变换用于梯度灰度图像有几个亮度分量时噪声和梯度的其他局部不规则性常常会导致过分割。我们可以加入一个预處理阶段使用先验知识来限制允许的区域数目。这些先验知识包括简单的阈值到更复杂的尺寸、形状、位置、相对距离、纹理等复杂方法(见第11章)我们可以使用内部标记符(处在每一个感兴趣对象的内部)和外部标记符(包含在背景中)来标记我们期望的分割方式。

介绍了一堆函数……别被边界里的边界(enclosing)和边界外的边界(enclosed)等概念绕晕了就好

边界的表示方式至少要在平移、旋转等操作下保持不變。接下来的许多表示方式和相关操作都是为了这个

链码本身的概念不难理解。选定一个边界上的点作为起点按逆时针顺序,用数字0、1、2、3或者0~7表示下一个点位于上一个点的哪个方向

为了旋转归一化(即在旋转时表示不变),可使用一阶查分(也就是相减)的办法来表示链码也可以将起始点和长轴对齐。

11.2.2 使用最小周长多边形的近似

往物体上套一个皮筋皮筋的形状就是边界的近似形状。至于具体实現方式——我没看

以图心为远点,使用极坐标系表示边界以横坐标为角度,纵坐标为距离绘制灰度图像有几个亮度分量三角形边界會有三个峰值,正方形边界会有四个峰值

一条边界有时候很难描述,可以把它切成片段或许能用更简单的方式来描述它。以边界的凹媔和凸面的分界点作为切割的点就是很不错的办法

这和形态学的腐蚀有点儿关系,大致就是提取出物体的基本形态

11.3.1 一些简单的描绘子

長度、直径、长轴、短轴、基础正方形等都是比较简单的描绘子。

形状数由链码衍生而来其实就是归一化的差分码。

把边界放入平面直角坐标系边界上的每个点可以用复数x + iy来表示,就可以做傅里叶变换了不必考虑所有点,即使只考虑1%左右的点做逆变换时依然可以还原出边界的大致形状(这相当于高频滤波)。

把一个一维边界放平在平面直角坐标系的X轴上可以把它看成一个直方图,进而可以计算平均值、方差、统计矩等

和线检测有一点儿类似,都是通过灰度值的变化寻找线/拐角实际上拐角就是两条线的交叉嘛。

区域描绘子包括周长的平方/面积、灰度的均值和中值、最小和最大灰度级值、大于和小于均值的像素数、拓扑特性等

方便计算区域描绘子的一些函数。

紋理没有很正式的定义典型的纹理有粗糙、光滑、周期性出现的纹理等。从区域灰度图像有几个亮度分量的灰度直方图上能很容易它们嘚特点但因为灰度直方图仅仅描述频率而和空间无关,还有和空间相关的办法另外既然这东西能用频率描述,很容易能想到傅里叶变換可以用来处理它

这儿全是数学公式……不过不难理解,略过

网上更多的翻译是“主成分”。这章我还没细看(要收拾行李回家啦)不过这两篇帖子相当不错——

学习《数字灰度图像有几个亮度分量处理》时,我深感自己数学基础还不牢靠书中许多公式的推导很困難甚至推不出来。我已选择《什么是数学》《高观点下的初等数学》《线性代数应该这样学》三本书来巩固我的数学知识接下来的笔记敬请期待~

我要回帖

更多关于 灰度图像有几个亮度分量 的文章

 

随机推荐