image compression using dct,zigzag scan and runlength coding.
Show older comments
hello, I am trying to compress an image by applying dct, zigzag scan and run length coding. but I am stuck at zigzag coding.so can anybody tell me that how to apply zigzag scan now..here is my code till quantization.
clc;
I = imread('cameraman.tif');
I = im2double(I);
T= dctmtx(8);
B = blkproc(I,[8 8],'P1*x*P2',T,T');
%fun=@dct2;
%B = blkproc(A,[8 8],fun);
q= [16 11 10 16 24 40 51 61;
12 12 14 19 26 58 60 55;
14 13 16 24 40 57 69 56;
14 17 22 29 51 87 80 62;
18 22 37 56 68 109 103 77;
24 35 55 64 81 104 113 92;
49 64 78 87 103 121 120 101;
72 92 95 98 112 100 103 99]/255;
B2= blkproc(B,[8 8],'round(x./P1).*P1',q);
imshow(I), figure, imshow(B), figure, imshow(B2);
6 Comments
Urmila
on 19 Nov 2013
Walter Roberson
on 19 Nov 2013
Looks plausible. We would need to see your rle and irle to check about why you are not getting a proper inverse.
Urmila
on 21 Nov 2013
sonam chhikara
on 21 Sep 2015
Edited: sonam chhikara
on 21 Sep 2015
what is P1,P2 and X in your code?
Walter Roberson
on 21 Sep 2015
P1 will be T, P2 will be T' and x will be the data.
This code was designed using the blkproc() routine that was obsolete for several years before the code was posted.
Answers (1)
Paula Souza
on 27 Jan 2016
0 votes
Olá, como salvo os dados comprimidos pelo RLC no matlab?
1 Comment
Walter Roberson
on 27 Jan 2016
Edited: Walter Roberson
on 27 Jan 2016
Approximate translation:
Hello, how to save compressed data by Run Length Coding in matlab?
Categories
Find more on Image Transforms in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!