【问题标题】:Matlab fit graph to bw imageMatlab 将图拟合到 bw 图像
【发布时间】:2011-08-26 02:29:36
【问题描述】:

我正在尝试在 Matlab 中将图像转换为图形。
流程如下:

  1. 拍摄 RGB 图像
  2. 在图中找到坐标轴并创建适当的像素到 (x, y) 坐标
  3. 使用一些可自定义的im2bw 将图像转换为 BW,并且
  4. [这就是棘手的部分] 试图为图像中的白色像素提供一条线匹配。

我一直在尝试一些蛇和一些随用随增长的算法来从 BW 图像中的白色像素中检测图形,但我找不到与所有匹配的现成的 Matlab 算法似乎很奇怪BW 图像中的白色像素到一个方程。任何帮助或想法将不胜感激。

[编辑] 下面是从图中提取的 BW 图像的示例:

【问题讨论】:

  • 如果您只做一两个图表并且不介意点击点击,那么从文件交换中抓取非常有用。 mathworks.com/matlabcentral/fileexchange/7173-grabit除此之外,自动化方式更好,我也有兴趣看到一个。
  • @Alex - 不知道它已经在 FileExchange 中,我自己编写了这部分,通过行和列的总和自动检测轴。
  • 可能相关:How do I calculate the area under a curve in an image with MATLAB? 尚不完全清楚您想要做什么,但我认为您可以查看my answer 以了解我是如何为轴、网格和绘图线提取像素的那个例子。获得图形的像素值后,您可以进行曲线拟合。
  • 我没有时间给出完整的答案,但这是一种潜在的方法,以防您只有一条线,或者线的颜色不同。对于每条线:(1) 使用 find 获取线的 x,y 值,(2) 如有必要,使用轴变换坐标,(3) 使用平滑样条曲线(csaps 或 @987654329 @ 来自 FEX)创建一条紧跟这些点的线。
  • 一个不错的手动选择图形点的小工具是g3data

标签: matlab image-processing


【解决方案1】:

必须用 MATLAB 完成吗?

CCP14主页上有Digitizing programs for Converting Hard Copy Graphs and Plots back to Data的列表;也许你可以使用那里找到的工具之一?我自己没试过,但记得遇到过同样的问题......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-18
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多