資源描述:
《圖像壓縮方法和研究》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、15.題目:圖像壓縮方法和研究具體:1.簡述原理和方法2.舉出實例給予驗證3.用MATLAB編寫程序?qū)崿F(xiàn)圖像壓縮方法和研究1原理和方法1.1原理圖像壓縮是指以較少的比特有損或無損地表示原來的像素矩陣的技術(shù),也稱圖像編碼.去除多余數(shù)據(jù).以數(shù)學(xué)的觀點來看,這一過程實際上就是將二維像素陣列變換為一個在統(tǒng)計上無關(guān)聯(lián)的數(shù)據(jù)集合。圖像數(shù)據(jù)之所以能被壓縮,就是因為數(shù)據(jù)中存在著冗余。圖像數(shù)據(jù)的冗余主要表現(xiàn)為:圖像中相鄰像素間的相關(guān)性引起的空間冗余;圖像序列中不同幀之間存在相關(guān)性引起的時間冗余;不同彩色平面或頻譜帶的相關(guān)性引起的頻譜冗余。數(shù)據(jù)
2、壓縮的目的就是通過去除這些數(shù)據(jù)冗余來減少表示數(shù)據(jù)所需的比特數(shù)。由于圖像數(shù)據(jù)量的龐大,在存儲、傳輸、處理時非常困難,因此圖像數(shù)據(jù)的壓縮就顯得非常重要。1.2圖像壓縮基本方法圖像壓縮可以是有損數(shù)據(jù)壓縮也可以是無損數(shù)據(jù)壓縮。有損壓縮方法有:有損預(yù)測編碼,變換編碼,小波編碼等。無損壓縮方法有:變長編碼,LZW編碼,位平面編碼,無損預(yù)測編碼等。2實例和matlab程序?qū)崿F(xiàn)2.1實例要求介紹LZW編碼和解碼的改進(jìn)方法,實現(xiàn)matlab仿真,分析編碼效率低的原因,并給出改進(jìn)方法。2.2LZW改進(jìn)方法2.2.1LZW編碼改進(jìn)方法在編碼時,當(dāng)
3、前識別序列和字典條目,我們采取了數(shù)組的儲存方式,但也嘗試過采取使用MATLAB中的元胞類型,但編碼的效率很低速度很慢。這是由于在查找字典匹配序列時,使用元胞類型時在電腦的運行內(nèi)部要經(jīng)常進(jìn)行指針的大范圍的跳轉(zhuǎn),查找效率很低。采用了數(shù)組儲存后指針指在小范圍內(nèi)移動效率得到明顯的提高。編碼的規(guī)則很簡單。對圖像從行列進(jìn)行像素掃描,對于第一個像素不進(jìn)行輸出,只當(dāng)作下一次的當(dāng)前識別序列。而對其它的有當(dāng)前事變序列連接上當(dāng)前處理的像素值組成一個序列,如果該序列能在字典里找到對應(yīng)的序列,那么該序列作為下一個的當(dāng)前序列其它什么也不做。如果不能找到
4、,則編碼輸出當(dāng)前識別序列的字典中的索引值。這樣一直到最后,把最后一個當(dāng)前的識別序列的字典的索引值直接作為編碼接在編碼輸出序列后面。2.2.2LZW解碼改進(jìn)方法對于解碼來說,也采用上面的數(shù)組的儲存結(jié)構(gòu)。我們只要以編碼值在對應(yīng)建立的字典中去找到對應(yīng)的字典條目輸出就可以的。但這里存在著一個問題,對一些連續(xù)的出現(xiàn)相同的像素的編碼值,在解碼時不能在字典里面找到字典條目。對于不能在字典中找到的條目,采用條件判斷,之后取前面的識別序列連接上識別序列的第一個像素值作為像素序列的輸出和字典輸出,當(dāng)結(jié)束后再把當(dāng)前處理的編碼值賦給識別序列。2.3
5、matlab主程序tu=imread('11.jpg');tu2=double(tu(:,:,1));%轉(zhuǎn)化為只有8位的像素矩陣tu2=tu2>=128;size2=size(tu2);code=lzwcode2(tu2)%進(jìn)行LZW編碼,輸入2維圖像數(shù)據(jù),返回一個LZW編碼一維的序列tu3=lzwdecode2(code,size2);%LZW解碼,輸入code為LZW編碼序列,返回一個2維圖像數(shù)據(jù)figure(1);subplot(2,2,1),imshow(tu(:,:,1))title('原圖');subplot(2
6、,2,2),imshow(tu2)title('lzw壓縮二值圖像');subplot(2,2,3),imshow(tu3)title('lzw解碼后二值圖像');3仿真截圖和結(jié)論3.1仿真截圖3.2原因和改進(jìn)方法3.2.1原因由于LZW編碼,在編碼時運算量特別大,所以編碼的效率很低。主要有幾個原因:1、對算有像素都要進(jìn)行一次掃描2、對于很少出現(xiàn)相似的像素,字典會非常大3、每一次都要去查找一下字典3.2.2改進(jìn)方法1、選取圖像像素的最大值(如果少于255,那么可以減少字典大小,同時減少一些計算量)2、采用向后查找方式3、對于
7、字典儲存方式上的數(shù)組改進(jìn)方式。23.分水嶺的圖像分割算法具體:1.簡述原理和方法2.舉出實例給予驗證3.用MATLAB編寫程序?qū)崿F(xiàn)分水嶺的圖像分割算法1原理和方法1.1原理分水嶺分割方法,是一種基于拓?fù)淅碚摰臄?shù)學(xué)形態(tài)學(xué)的分割方法,其基本思想是把圖像看作是測地學(xué)上的拓?fù)涞孛?,圖像中每一點像素的灰度值表示該點的海拔高度,每一個局部極小值及其影響區(qū)域稱為集水盆,而集水盆的邊界則形成分水嶺。分水嶺的概念和形成可以通過模擬浸入過程來說明。在每一個局部極小值表面,刺穿一個小孔,然后把整個模型慢慢浸入水中,隨著浸入的加深,每一個局部極小值
8、的影響域慢慢向外擴展,在兩個集水盆匯合處構(gòu)筑大壩,即形成分水嶺。分水嶺的計算過程是一個迭代標(biāo)注過程。分水嶺比較經(jīng)典的計算方法是L.Vincent提出的。在該算法中,分水嶺計算分兩個步驟,一個是排序過程,一個是淹沒過程。首先對每個像素的灰度級進(jìn)行從低到高排序,然后在從低到高實現(xiàn)淹沒過程中,對