error in arithenco and arithdeco

original=imread('Lena.bmp'); % Read an image Lena 512*512 to original variable
seq=mortonx(original); % convert the matrix original into a vector by morton scan order which is a fucntion i made up by myself
ta=tabulate(seq); % create a three column with the internal function ... first column is the symbol... second is the times it occured ... third is the propability
count=ta(:,2); %copy the count column into count variable from ta variable
code=arithenco(seq,count); %appply the arithmetic coding ...
new=arithdeco(code,count,262144); %apply the arithmetic decoding to restore the original image ...
isequal(seq,new); % to see if seq and new are equal ....
% ??? Error using ==> arithenco at 36
% The symbol sequence parameter must be a vector of positive finite integers.

1 个评论

can you send the or post the function which converts the image into vector by morton scanning

请先登录,再进行评论。

回答(2 个)

Wayne King
Wayne King 2011-10-26

0 个投票

arithenco() expects an input like [1 2 3 4].
what is seq?

1 个评论

I mean you told us seq comes from your function mortonx, but is it a vector of positive integers?

请先登录,再进行评论。

Diyar Aldusky
Diyar Aldusky 2011-10-27

0 个投票

mortonx function is a function that just convert the matrix to a vector according to morton scan order .... it dont change the values of the matrix .... it just convert from matrix to vector ... to be from 512*512 to 1*262144 diementions ... and the values mean the same ...you can just type seq=reshape(original,1*262144) ... but after that i get the same error as i get from the begining ...

1 个评论

Diyar, it's not important just that it is a vector, what are the values in original, are they all positive integers as I asked you in my first answer.

请先登录,再进行评论。

类别

在 帮助中心 和 File Exchange 中查找有关 Convert Image Type 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by