Matlab 的图像里,用鼠标实时获取像素值和坐标还挺实用,尤其是在 GUI 里搞两个图像对比啥的。这份test.m脚本就比较实在,能在两个axes里各自独立响应鼠标操作,移动、点击都能显示坐标和灰度值,响应也快。

WindowButtonMotionFcnWindowButtonDownFcn两个事件配合,每次鼠标动一下或点一下,就能抓到当前鼠标在axes上的位置。再用getimage把图片数据拿出来,结合坐标直接读像素值,思路蛮清晰。

这玩意儿的好处是,不用额外开 figure 窗口,所有交互都在 GUI 里搞定。你要是也做图像比对,或者搞点交互式,这种做法挺合适。

类似功能的文章我也翻了几个,比如鼠标移动数据光标图像像素值实时更新这个就和这个脚本有点互补;还有光点检测与坐标获取,用的是另一种思路,也值得看看。

提醒一句,坐标是图像里的像素坐标,不是 GUI 里的屏幕坐标,用的时候注意单位别搞混。如果你对鼠标交互和图像数据都感兴趣,可以研究下这些脚本整合的思路,挺有意思的。