实验六

2020-04-15 12:33

实验6:方块编码(BTC)

1.实验目的: 掌握方块编码的基本方法及压缩性能。 2.实验内容:

1)编程实现子块为n×n的方块编码算法;

2)分别取n=4和8的方块尺寸进行实验,计算重建图像的PSNR和压缩比。

imagelena=imread('d:\\lena.bmp'); subplot(1,3,1); imshow(imagelena);

title('原图像') %显示原图像 n=4;

afterpro=blkproc(imagelena,[n,n],@btc); subplot(1,3,2)

imshow(uint8(afterpro)); %n=4编解码的图形 title('4*4') n=8;

afterpro=blkproc(imagelena,[n,n],@btc); subplot(1,3,3)

imshow(uint8(afterpro)); %n=8编解码的图形 title('8*8')

function y=btc(x) temp=double(x);

[m,n]=size(x); y=zeros(m,n);

xt=0; %定义总的像素值 a0=0; %定义小于阀值的总像素 a1=0; %定义大于阀值的总像素 p=0; %定义小于阀值的像素的个数 q=0; %定义大于阀值的像素的个数 if ~(m==n)

error('please select a block'); end for i=1:m for j=1:m

xt=xt+temp(i,j); end end

xtt=xt/(m*m); %得出阀值的平均值

for i=1:m for j=1:m

if temp(i,j)

a0=a0+temp(i,j); %得出小于阀值的总像素 p=p+1; %小于阀值的像素个数 else

a1=a1+temp(i,j); %得出大于阀值的总像素 q=q+1; %大于阀值的像素个数 end end end if ~p==0

a00=a0/p; end if ~q==0

a11=a1/q; end

for i=1:m for j=1:m

if temp(i,j)

y(i,j)=a11; end end end

%得出小于阀值的像素值 %得出大于阀值的像素值


实验六.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第5章习题解答

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: