首页 > 其他分享 >Matlab获取鼠标坐标值的ginput()函数

Matlab获取鼠标坐标值的ginput()函数

时间:2023-12-01 09:36:39浏览次数:46  
标签:xi 鼠标 Matlab 坐标值 ginput spline 函数

获取鼠标坐标值的第一种途径:利用Matlab7.0 中figure的WindowButtonDownFcn属性。当你在图上按下鼠标的时候,可通过该属性定义一个回调程序。回调程序可以是一个有效的Matlab表达式或者一个M文件。

那么为显示当前鼠标按下时的坐标值,我们可以将其定义为一个坐标获取和显示程序。

例如:
% 主函数
function test_mouse_track()
figure;
axis([-10,10,0,5]);
set(gcf,'WindowButtonDownFcn',@ButttonDownFcn);

% 回调函数
function ButttonDownFcn(src,event)
pt = get(gca,'CurrentPoint');
x = pt(1,1);
y = pt(1,2);
fprintf('x=%f,y=%fn',x,y);


坐标转换的算法

Matlab的ginput()函数

获取鼠标坐标值的第二种途径:

ginput提供了一个十字光标使我们能更精确的选择我们所需要的位置,并返回坐标值。函数调用形式为:

[x,y] = ginput(n)
[x,y] = ginput
[x,y,button] = ginput(...)

对于[x,y] = ginput(n),能使你从当前的坐标系中读取n个点,并返回这n个点的x,y坐标,均为nX1的向量。可以按回车提前结束读数。

[x,y] = ginput 可以无限的读取坐标直到按下回车键。

[x,y,button] = ginput(...) 返回x和y的坐标,以及button值(1=左键,2=中,3=右)或者按键的ASXII码值。

 

 

spline函数:

yi=spline(x,y,xi);
这个是根据己知的x,y数据,用样条函数插值出xi处的值。即由x,y的值计算出xi对应的函数值。

而pp=spline(x,y);
是由根据己知的x,y数据,求出它的样条函数表达式。

一组三维坐标进行三维曲线拟合

一个小程序:

axis([0 10 0 10]);
hold on
x=[];
y=[];
n=0;
disp('单击鼠标左键点取需要的点');
disp('单击鼠标右键点取最后一个点');
but=1;
while but==1
[xi,yi,but]=ginput(1);
plot(xi,yi,'bo')
n=n+1;
disp('单击鼠标左键点取下一个点');
x(n,1)=xi;
y(n,1)=yi;
end
t=1:n;
ts=1:0.1:n;
xs=spline(t,x,ts);
ys=spline(t,y,ts);
plot(xs,ys,'r-');
hold off

标签:xi,鼠标,Matlab,坐标值,ginput,spline,函数
From: https://www.cnblogs.com/bbhhh/p/17868883.html

相关文章

  • MATLAB实现图像小波变换去噪
    clear;[A,map]=imread('C:\Users\wangd\Documents\MATLAB\1.jpg');X=rgb2gray(A);%画出原始图像subplot(2,2,1);imshow(X);title('原始图像');%产生含噪图像x=imnoise(X,'gaussian',0,0.003);%画出含噪图像......
  • 基于FPGA的图像白平衡算法实现,包括tb测试文件和MATLAB辅助验证
    1.算法运行效果图预览    2.算法运行软件版本vivado2019.2 matlab2022a 3.算法理论概述       FPGA(Field-ProgrammableGateArray)是一种可编程逻辑电路,可以通过编程实现各种算法,包括图像白平衡算法。图像白平衡算法是一种用于调整图像颜色温度的方法,......
  • 基于MUSIC算法的二维超声波成像matlab仿真
    1.算法运行效果图预览  2.算法运行软件版本matlab2022a 3.算法理论概述      MUSIC(MultipleSignalClassification)算法是一种广泛应用于信号处理领域的算法,它可以用于估计信号的波达方向或频率。在超声波成像中,MUSIC算法可以用于提高图像的分辨率和降低......
  • matlab图像频谱图画图
    I=imread('C:\Users\wangd\Desktop\in000155.jpg');%读入原图像文件I1=rgb2gray(I);subplot(1,2,1);imshow(I1);%显示原图像fftI1=fft2(I1);%二维离散傅立叶变换sfftI1=fftshift(fftI1);%直流分量移到频谱中心RR1=re......
  • matlab在图像中随机更改像素值程序
    I=imread('C:\Users\wangd\Desktop\result3.png');%m=rgb2gray(I);%r=unidrnd(255,1,100);%产生一个1*100的数组,数组中的值为1至255中的随机值%r1=randi([2,7],10,100);%在开区间(2,7)生成10*100型随机矩阵subplot(2,2,1);imshow(I);title('原始图像');forw=1:......
  • matlab一维信号频谱图仿真
    程序1:%在MATLAB中是用连续信号在等时间间隔点的样值来近似地表示连续信号的,当采样时间间隔足够小时,这些离散的采样值就能较好地近似出连续信号,matlab中连续信号的显示实际上还是离散信号的显示,只是取样点特别%多的时候,用线连接起来,显示出来的图形就比较圆滑,接近连续信号;如果取......
  • 图像倾斜校正算法的MATLAB实现:图像倾斜角检测及校正|附代码数据
    原文链接:http://tecdat.cn/?p=13981 原文出处:拓端数据部落公众号 随着多媒体技术的不断发展,数码相机,高清拍照手机等多媒体设备己经在人们的生活中占据了越来越重要的地位。 通过采用图像处理技术,可以将数码设备采集到的文字、图片等信息转化成其他信息形势输出,例如转......
  • 无线定位中TDOA时延估计算法matlab仿真
    1.算法运行效果图预览  2.算法运行软件版本matlab2022a 3.算法理论概述       无线定位中的TDOA(TimeDifferenceofArrival)时延估计算法是一种基于信号到达时间差的定位技术。它的基本原理是,通过测量信号从发射点到接收点的传播时间差,可以计算出发射点......
  • 基于深度学习网络的施工人员安全帽佩戴检测matlab仿真
    1.算法运行效果图预览  2.算法运行软件版本matlab2022a 3.算法理论概述        基于深度学习网络的施工人员安全帽佩戴检测是一种先进的技术,它利用深度学习算法对图像或视频进行分析,以检测施工人员是否佩戴了安全帽。基于深度学习网络的施工人员安全帽佩戴......
  • 学习笔记434—【Matlab】Matlab读取dcm图像的函数
    【Matlab】Matlab读取dcm图像的函数Matlab版本:2020a一、dicomread函数Matlab读取dcm图像的函数是dicomread,根据dicomread的帮助文档,该函数有四种参数输入方式:X=dicomread(filename);%根据文件名直接读取X=dicomread(info);%根据构造的info结构体读取X=dicomrea......