📄 code.txt
字号:
行程编码的matlab实现:
I=imread('name.gif');
[m,n]=size(I);
c=I(1,1);E(1,1)=1;E(1,2)=1;E(1,3)=c;
t1=2;
for k=1:m
for j=1:n
if(not(and(k==1,j==1)))
if(not(I(k,j)==c))
E(t1,1)=k;E(t1,2)=j;E(t1,3)=I(k,j);
c=I(k,j);
t1=t1+1;
end
end
end
end
预测编码的matlab实现:
I2=imread('name.tif');
I=double(I2);
fid=fopen('mydata.dat','w');
[m,n]=size(I);
J=ones(m,n);
J(1:m,1)=I(1,m,1);
J(1,1:n)=I(1,1:n);
J(m,1:n)=I(m,1:n);
for k=2:m-1
for l=2:n-1
J(k,1)=I(k,1)-(I(k,l-1)/2+I(k-1,1)/4+I(k-1,l-1)/8+I(k-1,l+1)/8);
end
end
J=round(J);
cont=fwrite(fid,J,'int8');
cc=fclose(fid);
调用以下代码对以上预测编码进行解码:
fid=fopen('mydata.dat','r');
I1=fread(fid,cont,'int8');
tt=1;
for l=1:n;
for k=1:m;
I(k,l)=I1(tt);
tt=tt+1;
end
end
I=double(I);
J=ones(m,n);
J(1:m,1)=I(1:m,1);
J(1,1:n)=I(1,1:n);
J(1:m,n)=I(1:m,n);
J(m,1:n)=Im,1:n);
for k=2:m-1
for l=2:n-1
J(k,1)=I(k,1)+(J(k,l-1)/2+J(k-1,1)/4+J(k-1,l-1)/8+J(k-1,l+1)/8);
end
end
cc=fclose(fid);
J=unit8(J);
subplot(1,2,1),imshow(I2);
subplot(1,2,2),imshow(J);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -