(供自己以后研究)前后DCT代码真的不一样么,为什么显示出来差那么多
function [ time, PSNR ] = DCT_1D( image_gray, n )
image = double(image_gray);
% one dimension DCT -- first row , then column
for i = 1:size(image,1)
image(i,:) = dct(double(image(i,:)));
end
for j = 1:size(image,2)
image(:,j) = dct(double(image(:,j)));
end
% one dimension IDCT -- zero paddling to original size
truncate_len = size(image,1) / sqrt(n);
truncate_image = zeros(size(image));
for i = 1:truncate_len
for j = 1:truncate_len
truncate_image(i,j) = image(i,j);
end
end
for j = 1:size(truncate_image, 2)
truncate_image(:,j) = uint8(idct(truncate_image(:,j)));
end
for i = 1:size(truncate_image, 1)
truncate_image(i,:) = uint8(idct(truncate_image(i,:)));
end
imshow(truncate_image);