matlab命令窗口作用是什么,wcodemat这个命令在matlab中是实现什么功能的

命令格式:

1.y=wcodemat(x,nb,opt,absol)

2.y=wcodemat(x,nb,opt)

3.y=wcodemat(x,nb)

4.y=wcodemat(x)

该函数是用来对矩阵X进行量化编码,它返回矩阵X的一个编码矩阵,在编码中,把矩阵X中元素绝对值最大的作为NB(NB是一个整数),绝对值最小的作为1,其他元素依其绝对值的大小在1与NB中排列.当OPT为'row'时,做行编码;当OPT为'col'时,做列编码,当OPT为'mat'时,做全局编码,即把整个矩阵中的元素绝对值最大的元素作为NB,最小的作为1,其他元素依其绝对值的大小在整个矩阵中排列.当ABSOL为0时,该函数返回输入矩阵X的一个编码版本,为非0时,返回X的ABS(X).

在小波变换的时候也就是编码的时候会用到吧~~

希望能给你一点帮助

load x;

subplot(2,2,1);

image(x);

colormap(map);

title('原始图像')

axis square;

disp('压缩前图像');

whos(x);

%对图像进行小波分解

[c,l]=wavedec2(x,2,'bior3.7');

%提取低频系数和高频系数

cA1=appcoef2(c,l,'bior3.7',1);

%水平,斜线,垂直方向系数

cH1=detcoef2('h',c,l,1);

cD1=detcoef2('d,c,l,1);

cV1=detcoef2('v',c,l,1);

%重构第一层系数

A1=wrcoef2('a',c,l,'bior3.7',1);

H1=wrcoef2('h',c,l,'bior3.7',1);

D1=wrcoef2('d',c,l,'bior3.7',1);

V1=wrcoef2('v',c,l,'bior3.7',1);

c1=[A1 H1;V1 D1]

%显示频率信息

subplot(2,2,2);

image(c1);

title('分解后的低频和高频信息');

%对图像进行压缩,保留第一层低频信息并量化编码

ca1=wcodemat(cA1,440,'mat',0);

%改变图像高度并显示

ca1=0.1*ca1;

subplot(2,2,3);

image(ca1);

title('第一次压缩后图像');

axis square;

disp('第一次压缩后图像的大小:');

whos('ca1');

%对图像进行压缩,保留第2层低频信息并量化编码

cA2=appcoef2(c,l,'bior3.7',2);

ca1=wcodemat(cA2,440,'mat',0);

%改变图像高度并显示

ca2=0.1*ca2;

subplot(2,2,4);

image(ca2);

title('第2次压缩后图像');

disp('第2次压缩后图像的大小:');

whos('ca2');

我不是很明白你的意思,找了一段代码,你看看吧,希望有所帮助~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值