image-processing - 绘图数字化-从图形图像中抓取样本值

标签 image-processing charts plot ocr curve-fitting

这并不是真正的“OCR”,因为它不能识别字符,但是它与应用于曲线的想法相同。有人知道图像处理库或已建立的算法来从(栅格)绘图图像中检索值吗?例如,在此图中,我很难用眼睛读取确切的值,因为网格线之间存在这样的间隙:

alt text

我可以使用直边或其他任何方式,但仍然容易出错。如果有一些软件可以对任何旧图形进行截屏然后自动将其转换为可以查询的值表或函数,那将是很好的。

似乎被称为“曲线识别”?也可以用于从科学论文的曲线中提取数据,而这些数据的基础数据尚未发布。

可以接受一些人工指导。例如,OCR没有理由无法读取“100”并将其与直线匹配,但是在机器提取相对于网格线的曲线路径后,让人们给直线提供数值是可以的。我最感兴趣的是相对于网格跟踪曲线的功能,即使网格是倾斜,旋转或warped in a non-affine way的。

更新:

现在有一篇名为Converting scanned graphs to data的Wikipedia文章,其中的链接中包含一堆软件。还有一些software on alternativeto.net。我猜该理论现在属于http://dsp.stackexchange.com,而软件解决方案属于http://superuser.com

最佳答案

这是非常困难且容易出错的。 (我们在尝试分析化学的化学过程中经常做这种事情。)它主要取决于各种参数和条件。

  • 图片是位图(仅像素)还是矢量(EMF,WMF,SVG,PS,PDF ...)?向量远胜于像素。我们处理矢量(包括PDF),但不触摸像素。我们的一些合作者将尝试使用像素,但仅在相当近期的文档中使用。
  • 如果您被像素卡住了,那么您的图像是否全部来自同一来源?如果是这样,则您很少有机会提取字体信息。恐怕您的形象太差,需要大量工作。但是,如果可以计算出字体,并且所有文档都来自同一来源,则有机会提取文本和数字。您可以使用试探法(例如,数字可能在哪里的规则)或机器学习(可以训练方法的功能列表)。
  • 您的图像似乎已被扫描(因为轴已像素化)。这使情况变得更糟。对机器而言,直线出现在眼睛上是可怕的。您的图像在页面上歪斜了吗?您可能需要对它进行校正。
  • 如果您有直线和曲线的模型,则可能需要在图像中对期望的模型参数进行更改。但这不是小事。

  • 感到悲观,我很抱歉。如果您真的想要此信息,则可以通过大量投资或与从事此类工作的团队合作来完成。

    关于image-processing - 绘图数字化-从图形图像中抓取样本值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1657941/

    相关文章:

    r - 在R中制作方轴

    python-3.x - Python 中的 3D Dicom 可视化

    Java - 将函数应用于给定目录中的所有文件

    java - JFreeChart 将一个点连接到周围所有其他点

    java - 如何使用 javafx 或其他库有效地绘制许多数据点?

    r - ggplot2/gis 在多边形区域内绘图

    math - 带奇点的 Sage Math 椭圆曲线

    python - 如何识别与查询图像模板匹配的图像中不同颜色的对象?

    java - 将带有 alpha 图像的 TrueColor 转换为带有透明图像的 256 色

    charts - 在图表 js 工具提示字体大小不起作用