在matlab中绘制两个图像上的点和正方形

时间:2014-10-22 20:09:26

标签: matlab homography

我知道以前曾经问过,但我无法应用它。

我在图像上应用单应性,对于报告,我需要显示我选择了哪些点(绘制点),并且我还需要在处理后的图像上显示相应的正方形。

我使用的其中一张图片是

http://puu.sh/cmsL1/02c1ef6e64.jpg

我需要绘制为点的点是

 X           Y

 95.0000   109.0000
 80.0000   297.0000
385.0000   274.0000
383.0000   224.0000

我需要在下面的图像中作为正方形绘制的点是

http://puu.sh/cmsQb/45349305cd.jpg

 Xp   Yp

 90   133
 90   198
391   198
391   133

希望你能帮助我!

我试过

p=[3,4]
plot(p(1),p(2),'Marker','p','Color',[.88 .48 0],'MarkerSize',20);

但我真的不明白代码。它在白色图像上绘制点。后来我试过

hold figure
imshow(im) plot(p(1),p(2),'Marker','p','Color',[.88 .48 0],'MarkerSize',20);
hold on

但它没有用。

1 个答案:

答案 0 :(得分:0)

要在图像上绘制点,请执行以下操作:

hold on
scatter(X, Y)

您也可以添加属性,就像您想要的红色圆圈一样

scatter(X, Y, 'ro')

保持部分非常重要,因此它会对您之前的绘图进行散点图,这应该是您的图像。

对于正方形,同样适用,绘制图像,保持并使用行命令

hold on
line([Xp],[Yp])

其中xp和yp是行向量,分别包含要在其间绘制线条的x和y中的所有点。请记住在末尾添加一行,将最后一个点连接到第一个点。