今天回家有点晚了,恰好今天发现身边的深度学习图像算法朋友都不知道图像变换这个东西?甚是惊讶,虽然平时搭下网络、训下模型、做做前后处理,扯不上变换这回事,但是传统图像处理中因为图像变换才跨上了一个新台阶,这么基础又有趣的定西当然要提前分享啦。
(1)概述
图像变换的话知道常见的变换有以下四个就好啦:离散傅里叶变换(基础和重点)、离散余弦变换、离散沃尔什-哈达玛变换(我也不鸡道什么东西)和离散小波变换(由基础变换再次层层分解),刚开始我也是因为图像变换的神奇之处(往下看)才彻底喜欢上这个方向和领域,就简单拿上一章那个干干巴巴的图理解下图像的离散傅里叶变换,不用空降了,图在下面,上面一行是图像,下面一行是对应好的频谱图,共三列。
Lena图像频谱图、低通频谱图、高通频谱图及原图(左到右)
借用冈萨雷斯版《图像处理》供大家理解,一个比较恰当的比喻是将傅里叶变换比作一个玻璃做的棱镜(万花筒玩过吧)。它可以将光分解为不同颜色,每个成分的颜色由波长(或频率)来决定。图像中的傅里叶变换就可以看作是数学上的棱镜,将图像基于频率分解为不同的高频部分和低频部分,这里先不用在乎高频低频有什么用。比如上面第一列上图,是之前提到过的Lena图像的灰度图,然后眼神垂直看下图,这个就是原图傅里叶变换后经过对数变换(放大波动,增强显示效果)和图像中心化的频谱图。
(2)频谱图中心化
好了,今天就敲一次黑板,我们在转化成频谱图后进行了一个更重要的步骤:中心化。首先看下中心化前后对比图,自己感受下频谱图对比,就是未中心化前中心很暗,中心化后亮度都集中在了中心部分。实际中心化具体过程就是将频谱图中的低频部分(低频中最中间最亮的那颗'星'是直流分量,信号处理中喜欢这么称呼)移到频谱图中心,可以看看图像中心,果然中间那部分亮度高且集中。
中心化频谱图前←
中心化频谱图后→
插播,现在我们来看下高频和低频分别有什么用,当初考试老师必考的内容,两句话,在图像的频谱图中低频部分代表图像的背景信息(background,太认真都忘了飙英语),高频部分代表图像的细节和边缘信息,怎么理解呢,背景信息像素值大都一个样,就是说在原图中包含这种像素值的点越多,频谱图中对应频率的位置就越亮,也就是低频部分,而边缘信息和细节就差得太多了,所以高频部分占频谱图中心外的其他大多部分,
说只讲一点点的也埋了好多知识,终于到见证奇迹的时刻了。经过中心化后的图像我们很容易进行操作呀,比如第二列图那个低通滤波器(就是让低频部分通过,过滤高频部分),怎么实现呢,拿马良的神笔在中心画个圈,圈内的留下,圈外的值变为0。开个玩笑但是真的就这么简单,找到图像中心画个圆,低通滤波后的频谱图就做好啦。然后我们再用傅里叶逆变换将频谱图变为我们能看的图像,就是第二列上图,是不是感觉图像模糊了好多,是因为我们只保留了低频信息(图像背景),别惊讶,平常的打马赛克和图像变模糊就可以这么操作。聪明的你第三列图就自己理解吧,高通滤波器只保留图像细节,所以我们只可以清楚看到Lena的轮廓,也就可以当做一种边缘检测方法用来提取轮廓。
我第一次接触这个感觉贼神奇,给你们讲的时候也还是很钦佩前人的能力,仿佛又回到了夏天的课堂上,开心地拿着份实验报告plot(matlab术语,不懂自行头条,再问自杀)你们看到的第一幅图。
对了,提到的matlab图像处理函数一搜一大堆,不懂不会的可以直接私信我,后续我会想办法帮大家整理打包好。
好啦,今天的图像变换就介绍到这了,有点累但是很开心,感觉有些事干有些话说有些人认识,至少还和这个世界有些许联系,我们永远要勇敢迈出第一步吧,别忘点关注,see u again。