⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rle_1_c.m

📁 compression with rle algorithm
💻 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 + -