matlab实现dpcm编码,DPCM预测编码问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

I=imread('1.GIF');

i=double(I);

[m,n,L]=size(i);

p=zeros(m,n,L);

y=zeros(m,n,L);

y(1:m,L)=i(1:m,L);

p(1:m,L)=i(1:m,L);

y(L,1:n)=i(L,1:n);

p(L,1:n)=i(L,1:n);

y(1:m,n)=i(1:m,n);

p(1:m,n)=i(1:m,n);

y(m,1:n)=i(m,1:n);

for k=2:m-1;

for L=2:n-1;

y(k,L)=(i(k,L-1)/2+i(k-1,L)/4+i(k-1,L-1)/8+i(k-1,L+1)/8);

p(k,L)=round(i(k,L)-y(k,L));

end

end

p=round(p);subplot(3,2,1),imshow(I);title('原灰度图像');

subplot(3,2,2),imshow(y,[0,256]);title('利用三个相邻块线性预测后的图像');

subplot(3,2,3),imshow(abs(p),[0 1]);title('编码的绝对残差图像');

j=zeros(m,n);

j(1:m,L)=y(1:m,L);

i(1:m,L)=y(1:m,L);

j(1:m,n)=y(1:m,n);

j(m,1:n)=y(m,1:n);

for k=2:m-1;

for L=2:n-1;

j(k,L)=p(k,L)+y(k,L);

end

end

for r=1:m

for t=1:n

d(r,t)=round(i(r,t)-j(r,t));

end

end

subplot(3,2,4),imshow(abs(p),[0,1]);title('解码用的残差图像');

subplot(3,2,5),imshow(j,[0 256]);title('使用残差和线性预测重建后的图像');

subplot(3,2,6),imshow(abs(d),[0 1]);title('解码重建后图像的误差')

请问下 for的之间的循环语句是什么意思?

for k=2:m-1;

for L=2:n-1;

y(k,L)=(i(k,L-1)/2+i(k-1,L)/4+i(k-1,L-1)/8+i(k-1,L+1)/8);

p(k,L)=round(i(k,L)-y(k,L));

end

end

还有这段:

for k=2:m-1;

for L=2:n-1;

j(k,L)=p(k,L)+y(k,L);

end

end

for r=1:m

for t=1:n

d(r,t)=round(i(r,t)-j(r,t));

end

end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值