【问题标题】:How to get image coordinates and color data per pixel clicking on a displayed image?单击显示的图像,如何获取每个像素的图像坐标和颜色数据?
【发布时间】:2013-06-21 14:53:31
【问题描述】:

我将几个 PNG 文件加载到 Matlab 中并毫无问题地显示它们,但想知道是否有办法指向(或单击)像素并立即实时获取其像素坐标和颜色 (RGB),或者作为屏幕上的输出或存储在某个变量中。

例如,我有一张 64 x 64 的人脸照片,用作眼睛检测算法的地面实况图像。该算法将返回眼睛的边界框,但是,为了检查它,我想通过在绘制图像时单击或鼠标在图像周围手动提取坐标,以及关于我单击或鼠标单击的像素的颜色信息。

如果 Matlab 不支持这种交互性,请随时建议其他语言、软件或环境。

感谢您的帮助!

【问题讨论】:

  • 顺便说一句,在过去的一年半里,我一直在用 MATLAB 制作非常复杂的 UI 密集型 GUI,但我还没有找到一件我不能用足够的创造力做的事情。 MATLAB 将几乎支持您可能想要的所有交互性 :)
  • Matlab 太棒了!出于好奇,您制作的 GUI 是否可以在 Matlab 之外使用?我知道我必须在 Matlab 中制作它们,但是制作完成后,我可以说,将可执行文件或 UI 文件提供给没有 Matlab 的人吗?
  • 如果你有 MATLAB 编译器,你可以创建一个 Windows 独立可执行文件,它允许任何人在没有安装 MATLAB 的情况下运行你的 GUI。

标签: matlab image-processing colors coordinates interactive


【解决方案1】:

数据游标完全执行您想要的操作:

http://www.mathworks.co.uk/help/matlab/creating_plots/data-cursor-displaying-data-values-interactively.html

它是图像工具栏中“旋转”图标右侧的图标。

【讨论】:

  • 正是我需要的!感谢您的完美回答!链接页面的底部还详细介绍了导出功能,这有助于将数据导入程序! (现在我只需要找到一种方法来自动化这个过程:单击,将新行追加到矩阵......)但是在数据点和导出命令之间,我认为这里有足够的灵活性来加载图像并分析它们的像素数据灵活。
  • 这是未记录的,但您实际上可以覆盖数据光标,您要做的是修改轴的“buttondownfcn”,点击时,您将自动创建数据光标,但是然后您可以将数据添加到矩阵并完全访问您的变量。请参阅我的新答案,这可能对您的应用程序更有帮助
  • 您也可以覆盖更新功能 - matlab 在 datacursormode 的帮助文件中给出了如何执行此操作的说明。例如,我用它来查找和显示多线图中的列号。您可以通过获取“目标”的 x-data、y-data、z-data、c-data 等来访问数据矩阵。
【解决方案2】:

如果您有图像处理工具箱,则有一个名为 impixel 的内置工具,可让您单击图像并自动获取像素值和位置。没有弹出数据游标,但是数据游标返回的是什么,impixel 也是,您可以使用 uicontrol(文本)轻松地显示它。

【讨论】:

    猜你喜欢
    • 2016-02-09
    • 2015-04-09
    • 2020-11-02
    • 1970-01-01
    • 1970-01-01
    • 2014-04-18
    • 2019-09-18
    • 1970-01-01
    • 2020-12-22
    相关资源
    最近更新 更多