有一个matlab的函数文件,但是不知道每一步的意思,函数文件内容如下:function [corr] = corrfft(f,g)%计算相关系数,其中f和g为两幅图像,本函数的作用是计算f和g的相关系数sze = size(f);sze = sze(1);f = fli

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/01 16:33:41
有一个matlab的函数文件,但是不知道每一步的意思,函数文件内容如下:function [corr] = corrfft(f,g)%计算相关系数,其中f和g为两幅图像,本函数的作用是计算f和g的相关系数sze = size(f);sze = sze(1);f = fli

有一个matlab的函数文件,但是不知道每一步的意思,函数文件内容如下:function [corr] = corrfft(f,g)%计算相关系数,其中f和g为两幅图像,本函数的作用是计算f和g的相关系数sze = size(f);sze = sze(1);f = fli
有一个matlab的函数文件,但是不知道每一步的意思,
函数文件内容如下:
function [corr] = corrfft(f,g)
%计算相关系数,其中f和g为两幅图像,本函数的作用是计算f和g的相关系数
sze = size(f);
sze = sze(1);
f = flipud(fliplr(f));
ffft = fft2(f,sze*2,sze*2);
gfft = fft2(g,sze*2,sze*2);
yout = ifft2(ffft.*gfft);%逆变换
startpt = sze/2 + 1;
endpt = sze*2 - sze/2;
h = yout(startpt,:);
for i = (startpt+1):endpt
h = [h; yout(i,:)];
end
yout = h(:,startpt);
for i = (startpt+1):endpt
yout = [yout h(:,i)];
end
y = yout;
corr = max(max(y));
这个函数是计算两幅图像相关系数的,但是具体怎么实现的我看不懂,谁能帮忙注释一下每句的意思,感激不尽啊

有一个matlab的函数文件,但是不知道每一步的意思,函数文件内容如下:function [corr] = corrfft(f,g)%计算相关系数,其中f和g为两幅图像,本函数的作用是计算f和g的相关系数sze = size(f);sze = sze(1);f = fli
function [corr] = corrfft(f, g)
%计算相关系数,其中f和g为两幅图像,本函数的作用是计算f和g的相关系数
sze = size(f);%%得到图像f的尺寸,sze共2个元素,一个是行数,一个是列数
sze = sze(1);%%sze为图像f的行数
f = flipud(fliplr(f));%%相当于对图像进行逆时针180°旋转
ffft = fft2(f, sze*2, sze*2);
gfft = fft2(g, sze*2, sze*2);%%对图像进行二维傅里叶变换,(sze*2)*(sze*2)控制图像大小,如果图像f和g的大小小于(sze*2)*(sze*2)的话就给其补0,让其尺寸增大为(sze*2)*(sze*2),最终返回结果的尺寸也是(sze*2)*(sze*2)
根据计算相关系数的公式,可以看出是进行二维卷积,所以转换到频率域就是直接相乘
yout = ifft2(ffft.*gfft);%逆变换,yout就是图像ffft和图像gfft的相关系数函数,由于返回图像的尺寸是(sze*2)*(sze*2)
假设sze=256
startpt = sze/2 + 1;%%应该从129开始,即sze/2 + 1
endpt = sze*2 - sze/2+1;%%到384
h = yout(startpt,:);%%令h=yout中的129行
for i = (startpt+1):endpt
h = [h; yout(i,:)];%%把其余的130-384行全部赋给h
end%%上面主要是处理行,下面就是处理列
yout = h(:,startpt);%%把h的第129列赋给yout
for i = (startpt+1):endpt
yout = [yout h(:,i)];%%其余的130-384列赋给youty最终就是
end
y = yout;%%最终的y就是256*256大小
corr = max(max(y));%%找到相关系数函数矩阵中的最大值

有一个matlab的函数文件,但是不知道每一步的意思,函数文件内容如下:function [corr] = corrfft(f,g)%计算相关系数,其中f和g为两幅图像,本函数的作用是计算f和g的相关系数sze = size(f);sze = sze(1);f = fli Matlab中动态读取文件有0101.xls,0201.xls,0301.xls.1801.xlsw一系列文件,在Matlab中想用一循环程序来读取文件数据,如下:for j=1:18 Name= load (不知道怎么写这里)...end但是我所说的文件是一系列单独的文 求一个函数的最大范数的Matlab文件是什么? 不带约束条件的matlab非线性回归有X1,X2,X3数据,和y的数据,但是没有约束条件,不知道他们是什么函数关系,如何回归出来一个方程.请举例说明. matlab怎么显示插值得到的函数自己用MATLAB编了牛顿插值的函数 放在三个m文件里面 但是不知道怎么输出最后得到的那个多项式function u = chashang(x,y)N = length(x);if N == 2u = (y(2)-y(1))/(x(2)-x(1));elsex0 = matlab 用fsolve解方程组的问题我需要解一个方程组,编了一个cs.m函数文件,然后通过fsolve('cs',[1,1,1,1,1])语句求解,可是总是提示出错,不知道错在哪了,cs.m函数文件代码如下:function f=cs(uu)b1=uu(1);b2= 定义一个函数文件,求给定复数的指数、正弦和余弦,并在命令文件中调用该函数文件关于MATLAB 有没有matlab高手啊?有两个变量,不知道他们之间的任何关系,想用matlab求出函数关系式 matlab中,有一个三维图像,如何沿着两个坐标轴得到剖面图?有什么函数?最好能写个完整的表达式,用法详细点,我是matlab菜鸟先谢过,这个方法很好,但是不知道有没有写代码的方法,因为这是作业, 用matlab写一个判断任意输入的正整数是否为素数的函数文件 matlab:编写一个M函数文件,使用for循环计算1~1000的累加和 MATLAB的gui中全局变量在哪里定义普通的全局变量我知道在文件的顶部定义,然后在用的函数中声明,但是MATLAB中当把控件放到GUI的空白模板中时,生成的M文件中全是函数,如何定义? 如何用matlab定义一个函数文件addsub.m matlab怎么在一个m文件中写多个函数? MATLAB 我要拟合一个二元函数,并已知他们的数据,但不知道函数大概的模型,能通过MATLAB算出函数吗? 如何用matlab得到一个圆环想得到一个圆环,或者圆盘,不知道有没有直接的函数调用,或者自己编该怎么编? matlab中函数文件的输入变量能不能是多个,并且既有矩阵,又有普通变量 有没有Matlab高手?求指教 主要是M文件的函数部分