MATLAB arithenco() create encoded code of type double.

I want to compress image using arithmatic encoding I am trying following code
a=imread('C:\Users\Mitul\Desktop\index.bmp'); % figure,imshow(a)
%converting an image to grayscale I=rgb2gray(a);
%size of the image [m,n]=size(I); Totalcount=m*n;
%function which converts array to vector vec_size = 1; for p = 1:m for q = 1:n newvec(vec_size) = I(p,q); vec_size = vec_size+1; end end
% arithmatic encoding % count of symbols
for i=1:Totalcount
count(i)=1;
for j=i+1:Totalcount
if newvec(i) == newvec(j);
count(i)=count(i)+1;
end
end
end
% Seq to encode
sym=newvec;
code = arithenco(sym,count);
Here size of code is more then actual size of Image because the datatype of code is double. Give me solution for it

Answers (1)

Solution: write your own arithmetic encoding routine that uses whatever data type you please.

Categories

Find more on Read, Write, and Modify Image in Help Center and File Exchange

Asked:

on 15 Oct 2015

Answered:

on 15 Oct 2015

Community Treasure Hunt

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

Start Hunting!