在Matlab中通过鼠标单击选择图像的输入像素

在Matlab中通过鼠标单击选择图像的输入像素,matlab,Matlab,我试图实现一个跟踪程序,使用Matlab中的均值漂移算法。其思想是,给定一个视频的第一帧,用户可以点击他想要的任何对象的顶部,程序将跟踪整个视频序列。我已经实现并使用了跟踪部分,但是我遇到了一些问题,用户无法单击图像顶部来选择跟踪算法的初始像素 我曾经考虑过输入功能,但我不知道如何让它工作。如何显示图像并单击像素顶部并获取其坐标[x,y]以初始化程序?您可以使用(鼠标或光标的图形输入) 阅读任何图像,并使用和显示它们 使用获取坐标,其中输入参数对应于记录的用户单击次数 [x,y] = ginpu

我试图实现一个跟踪程序,使用Matlab中的均值漂移算法。其思想是,给定一个视频的第一帧,用户可以点击他想要的任何对象的顶部,程序将跟踪整个视频序列。我已经实现并使用了跟踪部分,但是我遇到了一些问题,用户无法单击图像顶部来选择跟踪算法的初始像素

我曾经考虑过输入功能,但我不知道如何让它工作。如何显示图像并单击像素顶部并获取其坐标[x,y]以初始化程序?

您可以使用(鼠标或光标的图形输入)

阅读任何图像,并使用和显示它们

使用获取坐标,其中输入参数对应于记录的用户单击次数

[x,y] = ginput(1);                 % getting coordinates from user
为了获得像素值,我们需要传递坐标作为图像的索引。为此,必须将
ginput
中默认为
double
的输出参数转换为
无符号整数

另外,
x
y
默认表示水平和垂直。但是matlab语法将第一维作为(垂直计算的水平线数)。因此,
y
值作为第一个维度传递。类似地,
x
值作为第二维度

pixelValue = h(uint8(y),uint8(x)); % using coordinates as indices
pixelValue = h(uint8(y),uint8(x)); % using coordinates as indices