------------------------------------------------------------------------

please I want to modify that code to make it work on grayscale image not binary image can anyone help me

----------------------------------------------------------------------------------

function out=rle(image)

%

% RLE(IMAGE) produces a vector containing the run-length encoding of

% IMAGE, which should be a binary image. The image is set out as a long

% row, and the conde contains the number of zeros, followed by the number

% of ones, alternating.

%

% Example:

%

% rle([1 1 1 0 0;0 0 1 1 1;1 1 0 0 0])

%

% ans =

%

% 03453

%

level = graythresh(image);

BW = im2bw(image, level);

L=prod(size(BW));

im=reshape(BW',1,L);

x=1;

out=[];

while L ~= 0,

temp=min(find(im == x));

if isempty(temp),

out=[out L];

break

end;

out=[out temp-1];

x=1-x;

im=im(temp:L);

L=L-temp+1;

end;

Similar questions and discussions