Bonjour,
j'essaie de comprendre ce code qui remplit le rôle de compression/décompression RLE.
Il était mal commenté et j'ai du mal avec les fonctions même après avoir cherché sur internet et le help de matlab je suis perdu.
Si quelqu'un peut me le commenter ou m'expliquer, merci !
Code:
1
2
3
4
5
6
7
8
9
10
11
12 % data = rle(x) if iscell(x) % decoding i = cumsum([ 1 x{2} ]); j = zeros(1, i(end)-1); j(i(1:end-1)) = 1; data = x{1}(cumsum(j)); else % encoding if size(x,1) > size(x,2), x = x'; end % if x is a column vector, tronspose i = [ find(x(1:end-1) ~= x(2:end)) length(x) ]; data{2} = diff([ 0 i ]); data{1} = x(i); end