“size(I1,2)*2 ”中的“ * 2 ” 是什么意思?
还有就是 I = zeros([size(I1,1) size(I1,2)*2 size(I1,3)]);
I(:,1:size(I1,2),:)=I1; I(:,size(I1,2)+1:size(I1,2)+size(I2,2),:)=I2;
figure, imshow(I); hold on;
这段怎么理解!!!
我的程序是SURF的图像配准,但是我把图像旋转或尺寸变化就会出现“下标分配尺寸不匹配”。请问如何修改???
如一幅图像是256*270 则size(I1,2)表示270,size(I1,2)*2 表示270*2,这个2表示270的两倍;zeros([size(I1,1) size(I1,2)*2 size(I1,3)])表示建立三维矩阵,I(:,1:size(I1,2),:)=I1表示I的三维矩阵的第二维从1到size(I1,2)开始,也是三维矩阵; I(:,size(I1,2)+1:size(I1,2)+size(I2,2),:)=I2;size(I1,2)+1:size(I1,2)+size(I2,2)表示一个数从size(I1,2)+1到e(I1,2)+size(I2,2),你可以在MATLAB上写个小矩阵实验一下就知道这里面的含义了
size求得是矩阵大小,第二个参数是用来指定行还是列,这个help下就可以,用zeros是分配一个零矩阵,里面参数是长宽高,换而言之是三维空间的,
第三行是矩阵赋值,第四行是显示,出现维数不匹配一般都是你赋值出错,只能说你变化尺寸太随意了……不过没关系,都是这么过来的,赋值的时候更细心点就好了