Blurred Image after DCT image compression.

1 visualizzazione (ultimi 30 giorni)
Siyomnqoba
Siyomnqoba il 8 Ott 2015
Commentato: Siyomnqoba il 8 Ott 2015
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.

Risposte (1)

Thorsten
Thorsten il 8 Ott 2015
It seems that you have reduced the resolution of the image by 8.
  1 Commento
Siyomnqoba
Siyomnqoba il 8 Ott 2015
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?

Accedi per commentare.

Categorie

Scopri di più su Denoising and Compression in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by