📄 rle_1_c.m
字号:
function [CR] = RLE_1_c(filename)
A = imread('im_4_woman_blonde.tif'); % 8 bit gray; 256x256
colormap(gray);
% A = [100 80 80 91 91 255 100 10;
% 10 10 11 123 10 10 11 10;
% 255 255 255 255 100 100 100 10;
% 100 80 80 91 91 255 100 10;
% 10 10 11 123 10 10 11 10;
% 255 255 255 255 100 100 100 10];
A=f_addzero(A,4);
figure(1)
imshow(A);title('Original image')
[m,n] = size(A)
B=[]; %reprezinta imginea facuta ca vector
C=[]; %reprezinta vectorul comprimat
B=zigzag(A);
B=[B 0];
for i=1:m*n
if B(i)==255, B(i)=254;
end
end
h = 0; % contor de pixeli de aceesi valoare
i=1;
while i<m*n+1
i=i+1
if B(i-1)==B(i),
h=1;
C=[C 255];
while ((B(i-1)==B(i)) && (i<m*n+1)),
i=i+1;
h=h+1;
if h == 254
C=[C h B(i-1) 255];
h=0;
end
end
C=[C h];
C=[C B(i-1)];
else C=[C B(i-1)];
end
end
C=[m/4 n/4 C];
fid=fopen('project1RLE.bin','wb');
fwrite(fid,C);
fclose(fid);
CR=m*n/length(C);
CR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -