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

📄 fayedpcm.m

📁 本文是用线形预测编码对图像进行压缩
💻 M
字号:
I=imread('ct.jpg');
I=rgb2gray(I);
I=imcrop(I,[20 20 60 60]);
i=double(I);
[m,n]=size(i);
p=zeros(m,n);  %存放差值矩阵
y=zeros(m,n);  %存放预测矩阵
y(1:m,1)=i(1:m,1);
p(1:m,1)=i(1:m,1);
y(1,1:n)=i(1,1:n);
p(1,1:n)=i(1,1:n);
y(1:m,n)=i(1:m,n);
p(1:m,n)=i(1:m,n);
p(m,1:n)=i(m,1: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,1)=y(1:m,1);
j(1,1:n)=y(1,1:n);
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('解码重建后图像的误差');

⌨️ 快捷键说明

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