• 大小: 15KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-01-03
  • 语言: Matlab
  • 标签: matlab  

资源简介

LZW压缩算法 在matlab 中对图片的处理

资源截图

代码片段和文件信息

function a=lzwcode(imgmax)

%lzwcode(img) used to make code of lzw .the parameter  img is a matrix of  n*  m!
% and it return the lzw code matrix.

size2=size(img);
num1=size2(2); %每行的像素数
num2=size2(1); %每列的像素数
curcode=[];
if nargin==1
    max=255;    
end

for f=0:max
dictcode(f+1)={[f]}; %字典条目,注意实际数与下标相差一
end
n=max+1;
c=0;
id=-1;
%要用 到的一些介绍
%int8() uint8() double()  str2num()字符转为数字 num2str()   func2str()  str2func()  函数与字符串的转换
 %利用元胞类型放字典条目curcode={‘‘}; diccode()
%开始编码
for s=1:num2
    for s2=1:num1
      
      if  isempty(curcode)   
     curcode=img(11); %当前识别序列
 else
  %查找字典条目 看是否有 含有当前像素值加在后面 组成的 一个字典条目 ,如果有就 1、取该条目为下一个当前识别的序列 , 其他什么也不做
  %如果没有则 1、把当前像素作为下一个识别序列   2、编码输出当前识别序列在字典中的位置码字       3、向字典里写入一个以当前识别序列为头的拼接上当前像素值的条目
 
  curcode2=curcode;
  c

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       16364  2007-05-07 21:07  LZW matlab集\11.JPG
     文件        1566  2007-05-14 23:39  LZW matlab集\lzwcode.m
     文件        1725  2007-05-16 13:56  LZW matlab集\lzwcode2.m
     文件         816  2007-05-16 12:28  LZW matlab集\lzwdecode.m
     文件        1872  2007-05-16 13:56  LZW matlab集\lzwdecode2.m
     文件         353  2007-05-16 13:53  LZW matlab集\lzwexample.m
     文件         583  2014-05-07 20:19  LZW matlab集\readme.txt
     目录           0  2014-05-07 20:18  LZW matlab集\

评论

共有 条评论