在MATLAB中连接不同图像中的两个不同点

在MATLAB中连接不同图像中的两个不同点,matlab,Matlab,我有两个相同尺寸的不同图像。每个图像中有1个兴趣点。我想通过用一条线连接绘图中的这两个点来连接这两个图像。我该怎么做? 这是图像的大致概念:让我们创建两个图像 >> [X,Y] = meshgrid(-200:200, -200:200); >> im1 = exp(-sqrt(X.^2+Y.^2)/100); >> im2 = exp(-sqrt(X.^2+Y.^2)/200); 您可以使用imagesc命令将它们并排显示: >> images

我有两个相同尺寸的不同图像。每个图像中有1个兴趣点。我想通过用一条线连接绘图中的这两个点来连接这两个图像。我该怎么做?
这是图像的大致概念:

让我们创建两个图像

>> [X,Y] = meshgrid(-200:200, -200:200);
>> im1 = exp(-sqrt(X.^2+Y.^2)/100);
>> im2 = exp(-sqrt(X.^2+Y.^2)/200);
您可以使用
imagesc
命令将它们并排显示:

>> imagesc([im1 im2]);

现在假设您想要连接图像中的两个点,坐标为(100300)和(30050)。由于图像是并排的,因此需要将第一个图像的宽度添加到第二个图像的x坐标:

>> width = size(im1, 2);
>> x1 = 100; y1 = 300;
>> x2 = 300 + width; y2 = 50;
现在,您可以在图像上放置一个
按住
(这样您就可以在它上面绘图),然后绘制连接两点的线:

>> hold on;
>> plot([x1 x2], [y1 y2], 'r', 'LineWidth', 2)

如果我理解正确,这应该可以满足您的要求:

% example random images (assumed gray-scale)
Img1 = rand(256)*.1;
Img2 = rand(256)*.3;

% widh of the images
imgWidth = size(Img1, 2);

%joined image
Img12 = [Img1, Img2];


% example points
[point1x, point1y] = deal(201, 100);
% point twos horizontal coordinate
% is shifted by the image width
[point2x, point2y] = deal(imgWidth + 101, 40);


% show images and plot the line
figure;
imshow(Img12);
hold on;
plot([point1x, point2x],[point1y, point2y], '+-b');

就像在一个例子中,图像是并排的吗?我的意思是图像是不同的矩阵。我有点的坐标。是的,但是你想画一条线,那么你想并排画图像还是什么?张贴输入和输出(带线条)图像的示例?是的,我想并排绘制图像。我试图上传一张照片,但我的声誉分数不够,我想是的。