資源簡介
運用分塊DCT的方法對一幅bmp圖像進行DCT編碼,圖像須是一幅灰度圖。
代碼片段和文件信息
?????????????????????????????????????????????????????????????????????????????????????????????????????tic
src?=imread(‘圖像名.bmp‘);
src=double(src);
dest=?ones(8);
dest2=?ones(8);
final=?ones(256);
%?產(chǎn)生?????8*8????DCT基矩陣
%----------------------------------------
N=8;???%DFT?點數(shù)
matrix=?zeros(8);
%?基矩陣??產(chǎn)生N?*?N?的基矩陣
for?I=?1:?N
?matrix(1I)?=?1?/?sqrt(N);
end
for?m?=1:N-1
???for?k=1:N
????????matrix(m+1?k)?=?sqrt(2/N)*cos(??m*?(2*k-1)*?pi/(2*N)?);
???end
end
%------------------------------------------------------------
%分塊?8*8
for?y=0:31
??for?x?=?0:31
????test?=src(???(1+y*8):(8?+?y*8)???(1+x*8):(8?+?x*8)??);
????for?I?=?1:8
?????????dest(I:)?=?matrix?*?test(I?:)‘;?
????end
????for?I?=?1:8
?????????dest2(:?I)?=?matrix?*?dest(:I);?
?????end
????final(???(1+y*8):(8?+?y*8)???(1+x*8):(8?+?x*8)??)?=?dest2;
??end
end
final?=?255*final?/?max(final(:));??%歸一化
imshow(final?[0?255]);
toc???
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????986??2009-05-03?21:38??DCT\op.m
?????目錄??????????0??2009-05-03?21:37??DCT
-----------?---------??----------?-----??----
??????????????????986????????????????????2
- 上一篇:Matlab圖像二值化和逆向二值化
- 下一篇:matlab編寫的susan算法程序
評論
共有 條評論