使用MATLAB interp1组合两个具有不同列数的图像

时间:2016-06-15 13:51:03

标签: matlab

我有2个不同大小的数字(图像)矩阵,代表2D对象的一些测量。矩阵的每一行表示物体的宽度方向的测量值,距离物体的源一定距离。每列代表对象的切片。

我想将两个矩阵合并为一个矩阵(图像),以便表示距离源更远的测量的第二个矩阵(B)将低于第一个矩阵(A)。

问题是矩阵A的采样与B不同:

A有2541列,对应于采样向量:x1 = -6.375:0.005:6.325(mm),

B具有5101列,其对应于采样矢量:x2 = -25.55:0.01:25.45(mm)。

我想通过合并采样向量并使用interp1来解决问题,以使两个矩阵具有相同的列数:

x_merged=sort([x1 x2]);

interped_A=interp1(x1, A' , x_merged , 'spline','extrap')';

interped_B=interp1(x2, B' , x_merged , 'spline','extrap')';

y_mm=0.23:0.1:(0.23+0.1*(size(A,1)-1));    

figure; imagesc(x1,y_mm,A); colorbar

figure; imagesc(x_merged,y_mm,interped_A); colorbar

但是,我遇到了一个问题:

interped_A(例如)的结果图像在某个(x,y)点没有相同的值,作为A !!的值。

以下说明:

第一个数字是A,它在指示点(例如),比第二个数字的相同点的指示值低两个数量级,这是interped_A。

问题是什么?我该如何解决? ?

(请帮帮我!!)

The image of matrix A

The image of matrix interped_A

0 个答案:

没有答案