MATLAB ỨNG DỤNG TRONG VIỄN THÔNG - Trang 346

Phụ lục

315

end

if isa(a,'double')

img_dct=dct2(dvalue);

img_pow=(img_dct).^2;

img_pow=img_pow(:);

[B,index]=sort(img_pow);

B=flipud(B);

index=flipud(index);

compressed_dct=zeros(size(dvalue));

for ii=1:coeff

compressed_dct(index(ii))=img_dct(index(ii));

end

im=idct2(compressed_dct);

end

imwrite(im, outfile);

figure('Name','Output image');

imshow(im);

return;

end

3. svdcompr (Mục 13.3 chương 13)

function [im] = svdcompr (infile,singvals,outfile)

% IMCOMPR (infile,singvals,outfile)

% Image compression based on Singular Value Decomposition.

% Written by Luigi Rosa – L’Aquila - Italia

% infile is input file name present in the current directory

% singvals is the number of largest singular values (positive integer)

% outfile is output file name which will be created

% Compression ratio is equal to k(n+m+k) / n*m

% where k is the number of singular values (singvals)

% and [n,m]=size(input_image)

%*****************************************************************

if (exist(infile)==2)

a = imread(infile);

figure('Name','Input image');

imshow(a);

else

warndlg('The file does not exist.',' Warning ');

im=[];

return

end

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.