Matlab 下标赋值维度不匹配,我找不到任何错误

Matlab 下标赋值维度不匹配,我找不到任何错误,matlab,Matlab,我正在尝试使用matlab匹配图像,这是我的代码的函数 function [imf,img] = imalign(f,g) narginchk(2,2); fsize = size(f); gsize = size(g); smax = max(fsize(1),gsize(1)); vmax = max(fsize(2),gsize(2)); imf = zeros(smax,vmax,3); fsli = uint8((smax - fsize(1))/2); fvli = uint8(

我正在尝试使用matlab匹配图像,这是我的代码的函数

function [imf,img] = imalign(f,g)
narginchk(2,2);

fsize = size(f);
gsize = size(g);
smax = max(fsize(1),gsize(1));
vmax = max(fsize(2),gsize(2));

imf = zeros(smax,vmax,3);
fsli = uint8((smax - fsize(1))/2);
fvli = uint8((vmax - fsize(2))/2);
imf((fsli + 1):(smax - fsli),(fvli + 1):(vmax - fvli),:) = f(:,:,:);

img = zeros(smax,vmax,3);
gsli = uint8((smax - gsize(1))/2)+1;
gvli = uint8((vmax - gsize(2))/2)+1;
img((gsli + 1):(smax - gsli),(gvli + 1):(vmax - gvli),:) = g(:,:,:);
matlab告诉我这一行
imf((fsli+1):(smax-fsli),(fvli+1):(vmax-fvli),:)=f(:,:,:);
错误,错误消息为“下标分配维度不匹配”

iAlign中的错误(第14行) imf((fsli+1):(smax-fsli),(fvli+1):(vmax-fvli),:)=f(1:end,1:end,1:end)`
但是我已经调试过了,什么也没找到。

你能把你使用的f和g变量发布出来吗?误差很可能是f的大小。好的,它必须在那里。我使用了两个图像作为输入,f在matlab中,g是,因为这里没有办法发布图像。我只想让img和imf共享相同的大小。你可以发布一个图像!上传到imageshank或其他地方并发布链接,我们用图片编辑答案,因为你没有足够的声誉。你想裁剪更大的图片吗?