数位影像处理U3强度转换与空间滤波part空间滤波的Youtube视频案例

各位同学大家好

我是台北科技大学的陈永耀老师

欢迎大家继续收看我们的Youtube视频数位影像处理

今天的主题是单元3-12

空间滤波的案例讨论上半段

今天我要来介绍一些空间滤波的特性

在讲空间滤波之前我们先来看一下

空间域影像处理的目的

首先我们先定义一下数学符号代表的意义

这里我们用g代表输出影像我们用f代表输入影像

同学们不要忘记喔这里讲的两张影像

从现在开始你要把它们想成是两个二维矩阵

二维的影像矩阵

所以空间域影像处理的定义是在输出影像g

它的像素位置(x,y)的像素值是由输入影像f

在同样(x,y)位置以及它四周的像素值

经过某些运算

就是我们等一下会介绍的Ť运算而决定

这里同学们可以会有点不清楚没关系

等下我会用一个例子说明

现在我们来看一下上面这句话

它对应的数学式就是下面这个公式

g(x,y)等于T中括弧f(x,y)

我前面有跟你们说过

我们要把影像处理这门课学好

同学们应该要俱备的能力是你要从数学式去理解

某个方法它的意义以及反过来说

当你脑海中有一个想法你觉得很棒

是可以实现的你要学会如何用数学符号去表达

最后就是你要不断的练习

把一张影像想像成是一个影像矩阵

所以你要习惯把一张影像想像成是一个影像矩阵

然后去想想看

如果你在书本或是论文上看到一个数学公式

这个数学公式会对这个影像矩阵

造成什么样的效果

好那现在我们试着把下面这个数学式拆开来看

首先等号左边的g(x,y)

g(x,y)代表输出影像g在(x,y)位置的像素值

而右边f(x,y)f(x,y)代表输入影像f

它在(X,Y)位置的像素值

所以这是两个不同的影像矩阵

一个是输入矩阵f一个是输出矩阵g

可是我们在讲同一个座标位置

比如说我们都在讲(x = 20,y = 30)这个位置

也就是我们再讨论的是两个不同的矩阵当中

第20列第30行的这两个像素

可是下面这个数学式中还有一个T运算

T运算它代表的是

我们在输入影像矩阵f中

我不但要考虑(X,Y)位置的这个像素值

我还要考虑(X,Y)位置的周围像素

考虑周围像素的像素值

通常这里讲的周围像素

它指的是以(X,Y)位置为中心

向外对称扩散包含的其他位置

比如说如果我们在讨论输出影像中

经过空间滤波后

(x = 20,y = 30)这个像素位置

那么因为有这个T运算

代表我在输入影像中我还要考虑

(x = 20,y = 30)这个位置的

上下左右等等的像素位置

比如说(x = 19,y = 30)这个位置

或是(x = 21,y = 30)这个位置

我们来看一下下面这张图

从这张图中我们可以很清楚的看到

空间域影像处理的定义左边是输入影像f

影像f是一个影像矩阵而右边是输出影像g

影像g也是一个影像矩阵

对我们来说我们一开始只有知道一个矩阵

就是左手边的输入影像f可是因为某些原因

好比说也许我们要消除杂讯也许我们要找出边缘

也许我们要让对比度强化

我们要对影像f做处理

最后我们才可以得到输出影像g

所以第一个我知道的是我要产生一个输出影像g

而g的尺寸会跟输入影像f的尺寸是一样的

第二个我们就要来考虑输出影像g里面

每一个像素位置的像素值它应该是什么

所以以这一个例子来看

当我们把T运算考虑的范围

设定成是一个3×3的邻近区块之后

它代表当我们在计算输出影像g里面

某个(x,y)位置像素的时候

我们不只是要看输入影像f当中

他相同(X,Y)位置的像素值

我们还要看的是输入影像f当中

以(x,y)为中心的一个3×3区块

就是同学们可以看到左手边

我标出来的这一个3×3区块

一共包含九个像素

我这里用下标1到9表示

所以比方说左边红色的座标

座标位置(x-1,y-1)

它代表(X,Y)位置的左上角

比方说左边绿色的座标座标位置(x,y-1)

它代表(X,Y)位置这个位置的正上方

比方说左边紫色的座标座标位置(x + 1,y + 1)

它代表(X,Y)位置这个位置的右下角

我们可以看到投影片右边

这九个像素位置的像素值

都是T运算它要考虑的输入像素值

所以g(x,y)等于

T中括弧f(x1,y1)f(x2,y2)一直到f(x9,y9)

这九个像素值做一些特定的运算

所以我们上一页看到的

空间域运算式g(x,y)等于T中括弧f(x,y)

以这个例子来看

如果我们把T运算的考虑范围

设定是一个3×3的邻近区块的时候

空间域运算式会变成g(x,y)等于T.

中括弧f(x1,y1)f(x2,y2)一直到f(x9,y9)

当然你也可以考虑5×5的邻近区块

你也可以考虑7×7的邻近区块

甚至之后如果你接触更多演算法之后

你会发现有人不是考虑正方形的邻近区块

他是考虑一个类似圆形的邻近区块

也有人在考虑十字型的邻近区块

其实这个邻近区块它没有严格限制

接着我们可以从前面定义的

空间域影像处理运算式

g(x,y)等于T f(x,y)

定义出空间滤波的概念

首先我们要决定好空间滤波中

滤波器的滤波遮罩大小要是多少

也就是上一页的图里面

到底你的T运算要考虑多大的周围像素

常见的周围像素范围有三乘三五乘五

或是七乘七等

然后接下来因为影像矩阵g是输出影像

所以我们要决定输出影像当中

每一个像素值到底是多少换句话说

我们必须将滤波器遮罩

在输入影像中移动通常是由左到右由上到下

直到整张影像的每一个像素位置我们都考虑过

其实就是在输入影像中每一点(x,y)位置

去计算滤波系数以及遮罩所涵盖范围的影像区域

它的像素乘积和

最后就是当我们边移动空间滤波器遮罩

去计算像素乘积和的时候

我们边要将这个像素乘积和

代入或者是填入到输出影像中同样一个位置

这个输出影像它就是滤波后影像

接着我们来看一下这个东西我投影片标题说

强度转换也就是投影片下方的强度转换函数

s等于Tr可以视为一种空间域运算

也就是投影片上方的空间域运算式

g(x,y)等于T f(x,y)

其实这是理所当然的事因为这几个段落

都是属于影像空间域运算的单元

可是同学们你能不能用我前面介绍过的东西

去找出来为什么强度转换

也可以视为是一种空间域运算

其实这个问题很简单

同学们可以想想看强度转换函数的定义s = T(r)

其中r是函数输入灰阶值s是函数输出灰阶值

然后你再想想我们说影像中每一个像素

它包含两个资讯

一个是像素座标另一个则是像素值

那么如果我们T运算考虑的范围是1×1的区域时

其实就是再考虑只有这个像素本身而以

在这个情况之下

空间域运算数学式

它其实就是在做下方的强度转换函数

所以这也是为什么强度转换函数

它也被包含在这个单元空间域影像处理中

接着一样我们用一个图来表示

前面提到的空间滤波它说我们要决定

输出影像中每一个像素值到底应该是多少

换句话说我们必须将滤波器遮罩

在输入影像中移动通常是左到右上到下

直到整张影像的每一个像素位置我们都考虑过

其实就是在输入影像中每一点(x,y)位置

我们都去计算滤波系数以及遮罩所涵盖范围的影像区域

它们的像素乘积和

所以我们可以看到右边这张图

右边最上方的矩阵我用红色圈圈圈起来的地方

它代表我们的输入影像矩阵

同学们也可以看到在中间的地方

我用一个蓝色框框代表我们的滤波器遮罩

它是一个三乘三的滤波器遮罩

它代表我们空间运算式中的T运算

我们要考虑的范围是一个3×3的邻近区块

总共是九个像素位置

通常这个三乘三的滤波器遮罩

我们会用一个专有名词mask去称呼它

然后同学们可以注意看这边

我们右手边最上方的这个图

其实是一个可以移动的滤波器遮罩

因为它盖在一张输入影像矩阵的上面

右手边最上方的这个红色小圈圈

其实我们仔细看

它如同下面这个红色大圈圈所表示一样的东西

它是有一个可以移动的三乘三滤波器遮罩

它盖在一张输入影像矩阵里面一张image的上面

现在我们再把左手边的这段话

跟右手边的示意图一起说明右手边中间这张图

是一个三乘三的滤波器遮罩

这个面具它是由九个系数值组成的

比方说第一列由左到右

有三个系数值w(-1,-1)w(-1,0)跟w(-1,1)

那么这个滤波器遮罩

它盖在输入影像上方的时候

w(-1,-1)这个系数值正好会盖在输入影像中

F(X-1,Y-1)这个像素的正上方

再来w(-1,0)这个系数值

正好会盖在输入影像中f(x-1,y)这个像素的正上方

以及w(-1,1)这个系数值

正好会盖在输入影像中F(X-1,Y + 1)这个像素的正上方

以此类推

所以左手边的这段话中的像素乘积和

它就代表像这样子把九个像素值

分别乘上它们各自对应的系数值

然后累加在一起

我再重复一遍

我们把九个像素值

分别乘上它们各自对应的系数值

然后累加在一起

最后再把这一个像素乘积和

填到输出影像中(x,y)位置

最后要讲一下这个三乘三的滤波器遮罩口罩

如果同学们去看原文书或是英文论文的时候

它其实有不同的称呼但是概念上都是一样的

有的时候这个滤波器遮罩这个三乘三的矩阵

在某些书里会被叫做是一个滤波器filter

有时候就直接称呼为一个遮罩口罩

有时候这个三乘三的矩阵

会被叫做一个核心内核

也有时候这一个三乘三的矩阵

会被叫做一个模版模板

最后有些书上也会把这个三乘三的矩阵

叫做一个窗窗

所以在这个段落我们已经把影像空间运算式

它的数学意义交代清楚那么下一个段落

我们要开始设计这个三乘三的矩阵

不管它叫做滤波器叫做遮罩叫做核心叫做模版

还是叫做窗窗总之这个三乘三的矩阵

它有九个系数值还没决定不同的系数值设计

也会带来不同的空间滤波效果

那么这个段落我们就介绍到边

下一个段落我就要介绍滤波器的系数值的设计

请同学们继续收看本课程谢谢,这次的Youtube视频分享到这里结束。