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

才智咖 人氣:4.19K

摘要

基於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