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

📄 d1freecode.m

📁 matlab写的lzw和huffman的编码
💻 M
字号:
function returndata=d1freecode(data)
%针对平面的1-D游程编码,针对的是二值图像
%输入参数data是二值图像的2维矩阵,返回returndata 是一个一维数组
n=size(data);
n1=n(1);
n2=n(2);

%默认开始点为0 
id=0;
num0=0;
num1=0;
sign=0; %默认从零0开始
tdat=data;
tdat=rot90(tdat);
tdat=flipud(tdat);


if data(1,1)~=0
      id=id+1;     
   retur(id)=0;
  sign=1; 
end 



for h=1:n1
    for h2=1:n2 
        
        
 if  data(h,h2) == 0 & sign == 0  
   num0=num0+1; 
   if h*h2==n1*n2  %表示这已经是结束
 sign=1;
else   
 sign=tdat((h-1)*n2+h2+1);
end
end

if  data(h,h2)==0 & sign==1
id=id+1;   
retur(id)=num0;
num0=0;
end



if data(h,h2)==1 &sign==1 
 num1=num1+1; 
 if h*h2==n1*n2  %表示这已经是结束
  sign=0;
else
   sign=tdat((h-1)*n2+h2+1);
end
end
if  data(h,h2)==1 & sign==0   
id=id+1;   
retur(id)=num1;
num1=0; 
end
end
end
returndata=retur;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -