Matlab中如何实现通过鼠标在图上点击一下,而获得所点击点在该图的像素矩阵中的位置。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matlab中如何实现通过鼠标在图上点击一下,而获得所点击点在该图的像素矩阵中的位置。相关的知识,希望对你有一定的参考价值。

不要告诉我用get(gcf,'curent point')之类的,因为我试过这些得到的都是在一个外在坐标系中的坐标(包含小数),而我想要的是那张图(比如520*680)的,在其(520*680)大小的矩阵中的行列数!

谢谢!

参考技术A I = imread('cameraman.tif');
imshow(I)
ginput(1)追问

这样得到的还是小数形式的坐标~~

追答

这个不是大问题。因为ginput返回的是小数,对于图像窗口,它是返回整数的小数形式。

你用floor函数再转成整数。
即:
[x,y]=ginput(1);
x=floor(x)
y=floor(y)
即可。

本回答被提问者采纳

在matlab中如何在图上添加坐标

举个例子:

x=1+4*rand(1,5);

y=2+2*rand(1,5);

plot(x,y,\'o-\')

for i=1:length(x)

text(x(i),y(i),[\'(\',num2str(x(i)),\',\',num2str(y(i)),\')\'])

%在(x,y)的每一点处添加文字,文字内容为(x,y)

%其中每一点的x,y用num2str把数字转化成字符串

end

参考技术A 正常情况下,matlab画图是直接画出坐标的,如果要改变坐标,可以双击图片,在图片编辑中改。 参考技术B 简单例子:
x=0:0.1:10;y=x.^2;plot(x,y);xlabel('x坐标(可任意写)');ylabel('y坐标');text(2.5,6,'可任意放');

参考资料:百度一下

参考技术C 简单例子:
x=0:0.1:10;y=x.^2;plot(x,y);xlabel('x坐标(可任意写)');ylabel('y坐标');text(2.5,6,'可任意放');

参考资料:百度一下

参考技术D 如何给MATLAB图片添加标题坐标轴标注(指令)
MATLAB具有很强的画图能力,一般能给出非常满意的图形效果,但是直接采用plot的命令生成的图片没有标准,很难达到我们的控制需求;同时 Firgure 还有很不错的编辑功能,可以传达更丰富的信息,这可以通过命令实现。具体的指令可查看下面的图片,所有的说明如图所示。

开启分步阅读模式
工具材料:
MATLAB2012a软件

win7系统

操作方法
01
打开MATLAB软件,并且对界面进行清空界面;
clear
clc

02
生成自己要显示的图片数据,如图所示;
例如显示一个sin(x)的函数;
x=-pi:0.01:pi;
y=sin(x);

03
采用一下指令进行编辑图片,如图所示,但是没有图片的题目和x轴y轴的标注;
plot(x,y,'r');

04
输入一下指令,可以给图片添加标题,代码如下(结合表格);
title('y=sin(x)');

05
从图中可看到添加的标题,但是还没有坐标轴的标注,可采用以下指令给图片添加x轴和y轴的坐标配置;
xlabel('x')
ylabel('y')

06
总结:
最终可以看到我们编辑的图片,这就可以看配置效果了;
同时可采用同样的方法给图片添加其他的效果,例如添加一个线性标注;
legend('sin(x)')

特别提示
如有疑问可以留言

分享可以使我们懂得更多

本页内容仅供参考,请您根据自身实际情况谨慎操作。尤其涉及您或第三方利益等事项,请咨询专业人士处理。

以上是关于Matlab中如何实现通过鼠标在图上点击一下,而获得所点击点在该图的像素矩阵中的位置。的主要内容,如果未能解决你的问题,请参考以下文章

matlab如何用鼠标选取fig图上的区域并获得坐标值

matlab画图,能够在图中时时显示鼠标在图中的位置(不需要点击!!!!),请问高手们怎么实现啊

matlab怎么在图上添加图例

如何通过指令将matlab的legend设置在图的左上方

如何把几组数据放在一张origin图上

如何在matlab simulink 加入滤波模块