作为一枚国庆留校的单身汪,不知道假期干点啥,哎,不说了,写篇博客吧!
图像,右键查看属性就可以看它的宽度,高度和位深度。这个也是衡量图片的基本标准。宽度和高度的单位往往是像素,是衡量像素点个数的标准。100*100就是一万个像素点。每个点是由位深度决定的,我们常看到是8位,(8位是1B,也就是说宽高通道和位深的8的倍数的乘积决定了图像的大小)也就是0-255有256个范围,也常常用这个来表示灰度值。带色彩的图像是3通道的,普通黑白的是单通道的,rgb三原色混合产生各种色彩的图像。上面介绍只是为了引出一个概念,就是我们常用的空域分析。主要就是对像素的灰度值直接进行操作。
但是,空域操作是有不足的,若在纸上画一个sin(x),不是很难吧,接下去画一个sin(3x)+sin(5x)的图形。别说标准不标准了,曲线什么时候上升什么时候下降你都不一定画的对吧?好,画不出来不要紧,我把sin(3x)+sin(5x)的曲线给你,但是前提是你不知道这个曲线的方程式,现在需要你把sin(5x)给我从图里拿出去,看看剩下的是什么。这基本是不可能做到的。
从我们出生,我们看到的世界都以时间贯穿,股票的走势、人的身高、汽车的轨迹都会随着时间发生改变。这种以时间作为参照来观察动态世界的方法我们称其为时域分析,空域分析道理是一样的,也很好理解,就是图像的常用分析,但是频域分析很特别,用不同的频率来表示时间轴,世界就是静止的。
频域分析里,横坐标表示是不同频率的正弦曲线,而纵坐标是正弦曲线的振幅。关键在与怎么转换?
这时,傅里叶变换就可以登场了,傅里叶变换就是将时域、空域转换到频域的一种工具。在图像中,我们可以使用傅里叶变换很轻松的将一个灰度矩阵变为频度矩阵,利用这个矩阵我们可以做很多的事情。例如,在频域中,频率高的表示细节,频率低的表示概貌,如果我们只想要概貌,那么就可以过滤掉高频的细节。如果我们想要压缩存储,也可以将变换后的频域矩阵中去除掉高频的分量,这在傅里叶变换操作是非常方便的。
在matlab中有傅里叶变换的函数,例如y=fft2(x),可以对二维灰度矩阵进行傅里叶变形,fft则是一维的傅里叶变换函数。有兴趣的可以试试。