matlab 问题
clear all;
clc;
I1=imread('D:\ebook\ref.bmp');
I2=imread('D:\ebook\swt.bmp');
unregistered =I2;%%未配准图像
rect=I1;%%参考图像
cpselect(unregistered(:,:,1),rect);%%%选择点对,选完后记得保存
uiwait(msgbox('Click OK after closing the CPSELECT window.','Waiting...'))
input_points_corr= cpcorr(input_points,base_points,unregistered,rect);
tform = cp2tform(input_points_corr,base_points,'linear conformal');%%仿射变换
registered = imtransform(unregistered,tform,'XData',[1 300], 'YData',[1 300]);%%对图像进行重采样
H.Position=[232 258 600 402];
figure(H)
subplot(2,2,1)
imagesc(rect)
title('Original image 1')
subplot(2,2,3)
imagesc(unregistered)
title('Unmatched image 2')
subplot(2,2,2)
imagesc(rect)
title('Original image 1')
subplot(2,2,4)
imagesc(registered)
title('Matched image 2')
colormap (gray)
步骤:
1 运行程序,在input里点一个点,在base里在大概相等的位置点一个点,这个两个点构成点对;
2 选取三对以上的点(仿射变换,至少需要三对点);
3 选完后,点file -save points to workspace ,然后再点击ok按钮;
这函数不是很好,你选取的点对位置差不多的话,配准较好,差的远的话,配准会失效;
x='10*exp(-1000*t)*sin(2*t+pi/2)';
ezplot(x)
不过图像很怪。
我把n改为1后即n=1时的图像如下:
希望能解决您的问题。
[y,n]=sigadd(x1,n1,x2,n2)
4.4 两个信号相乘的生成函数sigmult.m
[y,n]=sigmult(x1,n1,x2,n2)
4.5 序列移位y(n)=x(n-n0)的生成函数sigshift.m
[y,n]=sigshift(x,m,n0)
你的sigadd函数用法错误,只有四个参数(x1,n1,x2,n2)
我运行的错误只有这个啊,这个sigfold是你自定义的函数吗?