基於MATLAB的圖象壓縮程序實現

學識都 人氣:4.31K

摘要

基於MATLAB的圖象壓縮程序實現

遊程編碼(RLC:Run Length Coding)是圖像壓縮基本算法,它對於有較多灰度相同的圖像具有較高的壓縮比,RLC的`原理簡單,計算效率高。但RLC算法存在的1個致命弱點,即:如果圖像中每兩個相鄰點的顏色都不同,用這種算法不但不能壓縮,反而數據量會增加。爲了克服遊程編碼的這個弱點,本文設計了1種算法分塊RLC算法,利用分塊編碼(Block Truncation Coding)的思想對灰度圖像進行處理後,再進行遊程編碼,實現了灰度圖像的有損壓縮,圖像分塊越大,所得到的壓縮比越高,但較高的壓縮比是以提高圖像的失真度爲代價的。本文還將分塊RLC算法與DCT(Discrete Cosine Transform)圖像壓縮算法進行了比較:分塊RLC算法具有較高的壓縮比,但其保真度卻不如DCT圖像壓縮算法。本文使用MATLAB語言實現算法,將圖像存儲爲矩陣的形式,充分利用了MATLAB語言在矩陣運算和圖像處理工具方面的便利性,使得編程簡單、速度快、誤差小。

關鍵詞:MATLAB軟件;遊程編碼;分塊RLC編碼;DCT變換;圖像壓縮

Abstract

Run length coding (RLC) is a basic algorithm of image compression. When using on the image of many same gray level ,RLC has a higher compression ratio. The principle of RLC is simple and the efficiency of computing is RLC has a fatal disadvantage,it is that the gray level of two pixel together are all different, that will led RLC cannot to compress image and the quantity of the data will order to overcome this disadvantage ,this paper designed a algorithm ,namely block run length coding,which used the idea of block truncation coding to deal with each block of grayscale image,and then used RLC to each block and realized the damaged compression of grayscale image. The bigger the block is,the higher the compression ratio is,but the higher compression ratio take the increasing of distortion degree as the paper compared algorithm of block run length coding to algorithm of DCT image compression, algorithm of block run length coding has a higher compression ratio,but its lifelike degree is inferior to the algorithm of DCT image compression. In order to fully used the convenience of MATLAB language in the matrix operation and the picture processing tool ,this paper used the MATLAB language to realize this algorithm and saved the picture for the matrix form ,therefore, the programming is easy,the speed is quick and the error is to be little.

Key Words:MATLAB software; Block truncation RLC coding; Run length coding; DCT;Image compression