Blurred Image after DCT image compression.

1 次查看(过去 30 天)
I'm building my own DCT compression code, and the resulting image is blurred and has visible blocks in it,something not present in the original image.
Here's the resulting image:
and here's the original image:
The code is as follows:
%Compression snippet
y = blockproc(x, [8,8], dct);
fun = @(block_struct) round(block_struct.data ./ m);
y = blockproc(y, [8,8], fun);
y = im2col(y, [8,8],'distinct');
% decompression snippet
x = col2im(z, [8 8], [xm xn], 'distinct');
fun = @(block_struct) (block_struct.data .* m);
y = blockproc(x, [8,8], fun);
size(y)
t = dctmtx(8);
dct = @(block_struct) t' * block_struct.data * t;
y = blockproc(y, [8,8], dct);
x = uint8(y + 128);
I didn't include all of the code.

回答(1 个)

Thorsten
Thorsten 2015-10-8
It seems that you have reduced the resolution of the image by 8.
  1 个评论
Siyomnqoba
Siyomnqoba 2015-10-8
image size has gone up to still 775 by 775 I don't get how this has happened but when I use size(image) it still says the image size is 512 by 512 which is what it should be in the first place....what could've cause this change in resolution? I was supposed to embed a huffman encoder but I ran into problems with the decoder function decided to do it later,could this perhaps be the reason for this?that I didn't include the huffman encoder?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Denoising and Compression 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by