MATLAB程序中常见的语法错误,请求帮忙指点MATLAB中的语法错误

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

运行后的错误提示是:??? Error using ==> minus

Matrix dimensions must agree.

Error in ==> fuse_lap at 50

E(i1) = {selc( M1-M1T,M2-M2T,ap)};

谢谢帮助!

function Y = fuse_lap(M1, M2, zt, ap, mp)

%Y = fuse_lap(M1, M2, zt, ap, mp) image fusion with laplacian pyramid

%

%    M1 - input image A

%    M2 - input image B

%    zt - maximum decomposition level

%    ap - coefficient selection highpass (see selc.m)

%    mp - coefficient selection base image (see selb.m)

%

%    Y  - fused image

%    (Oliver Rockinger 16.08.99)

% check inputs

[z1 s1] = size(M1);

[z2 s2] = size(M2);

if (z1 ~= z2) | (s1 ~= s2)

error('Input images are not of same size');

end;

% define filter

w  = [1 4 6 4 1] / 16;

% cells for selected images

E = cell(1,zt);

% loop over decomposition depth -> analysis

for i1 = 1:zt

% calculate and store actual image size

[z s]  = size(M1);

zl(i1) = z; sl(i1)  = s;

% check if image expansion necessary

if (floor(z/2) ~= z/2), ew(1) = 1; else, ew(1) = 0; end;

if (floor(s/2) ~= s/2), ew(2) = 1; else, ew(2) = 0; end;

% perform filtering

G1 = conv2(conv2(es2(M1,2), w, 'valid'),w', 'valid');

G2 = conv2(conv2(es2(M2,2), w, 'valid'),w', 'valid');

% decimate, undecimate and interpolate

M1T = conv2(conv2(es2(undec2(dec2(G1)), 2), 2*w, 'valid'),2*w', 'valid');

M2T = conv2(conv2(es2(undec2(dec2(G2)), 2), 2*w, 'valid'),2*w', 'valid');

% select coefficients and store them

E(i1) = {selc( M1-M1T,M2-M2T,ap)};

% decimate

M1 = dec2(G1);

M2 = dec2(G2);

end;

% select base coefficients of last decompostion stage

M1 = selb(M1,M2,mp);

% loop over decomposition depth -> synthesis

for i1 = zt:-1:1

% undecimate and interpolate

M1T = conv2(conv2(es2(undec2(M1), 2), 2*w, 'valid'), 2*w', 'valid');

% add coefficients

M1  = M1T + E{i1};

% select valid image region

M1 = M1(1:zl(i1),1:sl(i1));

end;

% copy image

Y = M1;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值