MATLAB arithenco() create encoded code of type double.
1 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
回答(1 个)
Walter Roberson
2015-10-15
Solution: write your own arithmetic encoding routine that uses whatever data type you please.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Encryption / Cryptography 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!