资源简介
MATLAB 实现RLE 对矩阵Z字形游程编码(行程编码)RLE 对矩阵Z字形游程编码(行程编码),可以对矩阵数据进行游程压缩编码。解码代码请看我的上传!
代码片段和文件信息
%福建农林大学金山学院 2007级 jay粉丝 QQ544786937
%采用Z字形的游程编码对DCT变换矩阵进行编码
function r=rlez(x) %r为游程编码后的游程编码表,x为待编码的数据矩阵
[mn]=size(x); %读取数据矩阵的行数和列数
r(11)=x(11); %初始化r(11)
r(12)=1; %初始化r(12)
c=2;%用c/2的余数用来记录游走方向,初始值为斜向下游走
i=1;j=2;%让编码从第二个数开始,即x(12)。
l=1;t1=2;t2=2;%l用来记录r中的位置,
for k=2:m+n-1 %从第二个数开始,总共有m+n-1次Z形转换
while i<=t1&j<=t2 %判断是否超过游走边界t1记录i的最大值,t2记录j的最大值
if r(l1)==x(ij)
r(l2)=r(l2)+1; %相等则将r的第l个位置第二列个数加1
else l=l+1; %不相等,则跳转到下一个位置
r(l1)=x(ij); %将当前的新数据加入到r矩阵中
r(l2)=1; %相应的行程置1
end
if mod(c2)==1%决定游走方向,当mod(c2)==1的时候表示斜向上游走,当mod(c2)==0时表示斜向下游走。
i=i-1; %向上游走就是让i-1j+1。
j=j+1;
else %向下游走就是让j-1i+1。
i=i+1;
j=j-1;
end
end %一旦越界就停止循环
%由于上面游走的时候,会产生越界,即有可能或i>t1或j>t2下面让越界返回到正常位置
if c if mod(c2)==1 %决定游走方向,=1时表示斜向上游走,=0时表示斜向下游走
i=i+1; %向上越界后只需让i+1就可以到下一行的正常位置
else
j=j+1; %向下越界后只需让j+1就可以到下一列的正常位置
end
c=c+1; %越界一次,让c+1,即改变游方向
t1=c; %边界最大值作相应的改变
t2=c;
elseif c>=max(mn) % 当转折到达另一个较大行程的对角时
if mod(c2)==0 %决定游走方向,
相关资源
- MATLAB人口增长模型
- matlab 改变图片灰度级的函数
- 运动前景提取的matlab程序
- 神经网络的GUI可视化界面
- Matlab求解数独
- matlab 高斯过程回归模型 matlab Gaussia
- 系统聚类法及Matlab软件对系统聚类法
- matlab读取rinex观测文件
- 基于MATLAB的PID控制器参数整定及仿真
- 目标跟踪MATLAB
- sigma-delta ADC 2阶调制器的Sigma-Delta模型
- matlab的偏微分方程的数值解法
- 混沌同步程序matlab
- 基于MATLAB的自适应滤波器设计
- 北斗B1C B2a伪码生成的MATLAB代码
- 模糊温度控制器的设计与Matlab仿真
- 分形图像压缩编码的Matlab实现
- 图像二值化OTSU方法matlab程序
- matlab2012工具箱 turetime-2.0安装方法
- Gauss_Seidel迭代法的Matlab程序
- 图像处理梯度运算matlab
- 南京邮电大学 数字信号处理实验报告
- gm(11)模型的matlab程序
- 复杂网络邻接矩阵转pajek网络文件ma
- FDTD(时域有限差分法)算法的Matlab源
- 自适应控制_程序m文件
- 基于电机工作点效率的电动汽车两档
- 应用Matlab计算电力系统的最优潮流
- MIMO信道容量随信噪比变化:发送端未
- MIMO信道容量随信噪比变化:发送端未
评论
共有 条评论