作为一名初出茅庐的小小僧,在前进的路上举步维艰,希望能记录下自己遇到的一些问题和以后的大牛们一起探讨~
今天学习JPEG压缩算法。因为现在做DOUBLE JPEG COMPRESION DETECT ,so JPEG是必须要掌握的~
JPEG压缩算法
先说为什么要压缩呢,因为在庞大的计算机系统中,数据传输时很重要的一环,对了还有数据的存储(特别是对于大多像我一样的调调们,硬盘不够用呀~~嘿嘿),本来一张5M的图片在100M的空间智能存20张,我们压缩一下,压缩成1M,瞬间可以存储100张。很强大有木有,关键是图像的视觉特征还是一样帮帮的~~对于数据传输,暂时还是不是很了解,大概就是数据流,信道宽度,信道容量等等的东西。这部分等以后搞搞清楚之后再来说道说道。
OK,现在知道了为什么压缩,那么接下来我们就要开始正文了,如何压缩,压缩方法有很多很多种,这里只说明一下JPEG~
JPEG是一种比较好用的压缩方法。目的我们知道了就是要将图片压缩,那到底怎么压缩呢?一共有6个步骤~
是不是很多呀。。。。。。。。。。嘿嘿,不用怕,因为前三个步骤和后三个步骤是一样一样的,所以其实就是3个步骤啦~~
第一步:DCT变换
DCT变换利用一个公式将一组数变成另外一组数。(好吧,我说的太没文化了,就是将图像从时域变换到频域。为什么要要进行变换呢,就是因为在时域用我们肉眼难以看出来的特征在频域那也是极好的呢~)
具体实现,就是将一副图像先分成一个又一个8*8的块,怎么分???我去,你画一个正方形ÿ