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

2023-12-24

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

我可以使用直尺或其他工具,但它仍然容易出错。如果有软件可以截取任何旧图表的屏幕截图并自动将其转换为可以查询的值表或函数,那就太好了。

好像叫“曲线识别”?还可用于从未发布基础数据的科学论文中的曲线中提取数据。

有一些人类指导也是可以的。例如,OCR 没有理由无法读取“100”并将其与线条匹配,但在机器提取曲线相对于网格线的路径后,让人类给出线条数值是可以的。我最感兴趣的是跟踪相对于网格的曲线的功能,即使网格倾斜、旋转或以非仿射方式扭曲 https://stackoverflow.com/q/1601600/125507.

Update:

现在有一篇维基百科文章叫做将扫描图转换为数据 https://en.wikipedia.org/wiki/Converting_scanned_graphs_to_data链接中有一堆软件。还有一些Alternativeto.net 上的软件 http://alternativeto.net/software/engauge-digitizer/。我想这个理论属于http://dsp.stackexchange.com http://dsp.stackexchange.com现在,虽然软件解决方案属于http://superuser.com http://superuser.com?


这是极其困难且容易出错的。 (我们在化学领域经常做这种事情,试图分析化学。)这很大程度上取决于各种参数和条件。

  1. 图像是位图(仅像素)还是矢量(EMF、WMF、SVG、PS、PDF...)?矢量比像素好得多。我们处理矢量(包括 PDF),但不触及像素。我们的一些合作者会尝试使用像素,但仅限于最近的文档。
  2. 如果您受像素困扰,那么您的图像都来自同一来源吗?如果是这样,您提取字体信息的机会很小。恐怕你的形象太差了,需要做大量的工作。但是,如果您可以计算出字体,并且所有文档都来自同一来源,那么您就有机会提取文本和数字。您可以使用启发式(例如数字可能在哪里的规则)或机器学习(可以训练方法的功能列表)。
  3. 您的图像似乎已被扫描(因为轴已像素化)。这使得情况变得更糟。对于机器来说,肉眼看来是一条直线是可怕的。您的图像在页面上是否倾斜?您可能必须对其进行校正。
  4. 如果您有直线和曲线的模型,那么您可能需要更改将预期参数建模到图像中的方法。但这并非小事。

很抱歉我是悲观的。如果您确实想要这些信息,那么可以通过大量投资或与从事此类工作的团体合作来完成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

绘图数字化 - 从图形图像中抓取样本值 的相关文章

  • 在 R 中使用 spplot 将多个绘图放在一个页面上?

    我知道如何在使用简单函数图时绘制两个图 old par lt par mfrow c 1 2 plot faithful main Faithful eruptions plot large islands main Islands yla
  • SciPy 曲线拟合参数的方差到底是多少? (Python)

    我目前正在 Python 中使用 scipy optimize 包的 curve fit 函数 并且知道 如果取从 curve fit 获得的协方差矩阵的对角线条目的平方根 您将获得 curve fit 参数的标准偏差计算出来的 我不确定这
  • setImageCompressionQuality 与 setCompressionQuality 之间有什么区别 - Imagick

    我在Imagick中找到了两种设置图像压缩质量的方法 A 设置图像压缩质量 B 设置压缩质量 所以我想知道哪一个是最好的以及为什么在以下条件下 我读到了setCompressionQuality方法仅适用于新图像 我正在尝试压缩文件 jpe
  • 如何在Matlab中绘制网络?

    我有一个矩阵AMatlab中的维数mx2每行包含两个节点的标签 显示网络中的直接链接 例如 如果网络有4矩阵的节点A可能A 1 2 1 3 2 1 2 4 3 2 4 1 4 2 其中第一行表示有一个链接来自1 to 2 第二行表示有一个链
  • matplotlib xkcd 无法在 Mac 上运行

    我在可视化 matplotlib xkcd 图时遇到小问题 通过简单地尝试执行上找到的示例matplotlib org http matplotlib org examples showcase xkcd html 当我执行 xkcd py
  • 如何在Python中绘制数据立方体

    我想知道是否有一种方法可以在 Python 中绘制数据立方体 我的意思是每个点都有三个坐标 x part points 0 y part points 1 z part points 2 对于每个点我都有一个标量场 t x y z 我想绘制
  • 如何在向量中的所有点之间绘制线?

    我有一个包含二维空间中一些点的向量 我希望 MATLAB 用从每个点到每个其他点绘制的线来绘制这些点 基本上 我想要一个所有顶点都连接的图 你能用情节来做到这一点吗 如果可以 怎么做 一种解决方案是使用该函数为每个点组合创建一组索引MESH
  • 针对 iOS 10.3 进行编译,但模块“SwiftUICharts”的最低部署目标为 iOS 13.0

    知道如何仅在 iOS 版本超过 iOS 13 时导入 SwiftUICharts 框架吗 我通过 文件 gt Swift 包 gt 添加包依赖项 添加了此框架 我的应用程序目标必须是 iOS 10 我将此框架导入到 swiftui 控制器中
  • 即使在轴上进行自动量程调整,我也可以保留积分刻度线吗?

    我 偷 了一些代码here http fxexperience com 2012 01 curve fitting and styling areachart 拥有一个AreaChart我在 FXML 中使用了 平滑线条 它的工作原理如下
  • numpy polyfit 中使用的权重值是多少以及拟合误差是多少

    我正在尝试对 numpy 中的某些数据进行线性拟合 Ex 其中 w 是该值的样本数 即对于点 x 0 y 0 我只有 1 个测量值 该测量值是2 2 但对于这一点 1 1 我有 2 个测量值 值为3 5 x np array 0 1 2 3
  • Matplotlib loglog 的错误刻度/标签(双轴)

    我正在使用 matplotlib 创建对数图 如下图所示 默认刻度选择得很糟糕 充其量是这样 右边的 y 轴甚至根本没有 在线性等效中确实如此 而两个 x 轴都只有一个 有没有办法获得合理数量的带有标签的刻度 without为每个情节手动指
  • 低质量相机的模糊内核

    我正在做一些图像增强实验 所以我用我的廉价相机拍照 相机有马赛克伪像 所有图像看起来都像网格 我认为药盒 失焦 内核和高斯内核不是最佳候选 有什么建议么 EDIT Sample 我怀疑这不能通过恒定的内核来完成 因为对像素的影响并不相同 因
  • 如何在同一个html上绘制2个谷歌图表

    我正在尝试下面的代码 但它仅显示第一个代码的图表 你能告诉我哪里出错了吗 我尝试做很多改变 但仍然没有成功 i am only getting single chart as shown in below photo enter code
  • Apexcharts 项目栏上的最大宽度

    如何更改 Apexcharts 中项目栏的最大宽度 高度 https apexcharts com https apexcharts com 我有一个水平条形图 其数据是动态加载的 并且用户 项目 的数量各不相同 当用户很少或只有一个用户时
  • 如何选择面积最大的对象?

    我用过bwconvhull检测图像的某个部分 正如您在图像中看到的那样 有许多具有特定质心的对象 我想做的是检测面积最大的物体 左起第一个大物体 并忽略其他物体 我应该遵循哪种方法 我将非常感谢您的帮助 以下是代码 由于我仍在努力 所以写得
  • 从数据框中绘制多条平滑线

    我对 R 比较陌生 我正在尝试绘制从 csv 文件加载的数据框 数据由 6 列组成 如下所示 xval col1 col2 col3 col4 col5 第一列 xval 由一系列单调递增的正整数 例如 10 40 60 等 组成 其他列
  • 如何使用网格分割图像并保留透明度边界框

    我有一些 png 图像 我想将其分成几个部分 例如按网格或大小 但每个部分应具有与原始图像相同的边界框 透明度 Example 将图像分成两部分 原来的 200 89 Output 部分 1 png 200 89 第2部分 png 200
  • jpegtran 优化而不更改文件名

    我需要优化一些图像 但不更改它们的名称 jpegtran copy none optimize image jpg gt image jpg 但是 这似乎创建了 0 的文件大小 当我对不同的文件名执行此操作时 大小仍然完全相同 怎么样 jp
  • matlab 中的动画绘图

    我正在尝试创建一个三角形的动画图 最终结果应该是十个三角形 后面跟着两个更大的三角形 后面跟着一条直线 使用matlab文档 https de mathworks com help matlab ref drawnow html 我最终得到
  • 更改绘图区域背景颜色

    我想使用我们公司的颜色在 R 中制作一个图表 这意味着所有图表的背景应为浅蓝色 但绘图区域应为白色 我正在寻找答案 发现绘制一个矩形就可以完成这项工作 几乎 然而 绘图区域现在是白色的 并且图形不再可见 这可能吗 getSymbols SP

随机推荐

  • Android 上的持久 HttpURLConnections

    我在尝试让 Android 应用程序 好吧 服务 它的情况下它有任何区别 使用持久 HTTP 1 1 连接时遇到问题 以下循环 简化的测试用例 通过桌面 JRE 上的单个 TCP 会话进行工作 但在 Android 设备上会导致整个套接字创
  • 在 React 样式属性中使用 props

    我使用的是带有 ES6 语法的 JSX 这有效 render return div div 这行不通 为什么不行 编辑 它确实有效 render return div div Edit 它可以工作 但样式值必须是有效值 否则它将返回错误 我
  • --line-regexp 选项带有空数据

    考虑这个命令 printf alpha nbravo ncharlie n grep line regexp quiet bravo grep 看到由换行符分隔的 3 行 并与 bravo 行匹配 现在考虑 这个命令 printf alph
  • C 风格字符串、指针、数组

    我无法理解 C 风格字符串是什么 新年快乐 我知道的 指针保存着内存地址 取消引用指针将为您提供该内存位置的数据 int x 50 int ptr x pointer to an integer holds memory address o
  • 以函数式方式遍历树

    我已经在 Scala 中实现了一个基本的可变树 我想以函数方式遍历它以搜索元素 但我不知道如何实现它 如果可能的话 我还希望算法是尾递归的 树是一个具有值和叶子列表的结构 叶子也是树 任何帮助 将不胜感激 这是我的代码 重点关注 getOp
  • 如何使用 Google Compute Engine 安全地配置 App Engine 套接字

    我想在 Google Compute Engine 上放置一个 Redis 服务器 并通过 AppEngine 的套接字支持与其通信 唯一的问题是 似乎没有特定的防火墙规则表明 此 AppEngine 应用程序可以访问此主机 端口 而不能访
  • django URLValidator 产生虚假错误

    我正在使用 DjangoURLValidator形式如下 def clean url self validate URLValidator verify exists True url self cleaned data get url t
  • 使用logging::init_from_stream 增强日志格式单个属性

    当我在代码中设置格式参数时 为了格式化日期时间输出 我可以使用类似的东西 logging formatter simpleFormat expr format 1 2 expr format date time
  • Recyclerview Adapter 和 Glide - 每 4-5 行相同的图像

    我有这个问题 只是为了测试目的我添加ParseFile到其中之一ParseObject从收到的列表中 它不是仅在该行中显示 而是每 4 5 行显示一次 有时更多 有时更少 我怀疑回收观点与此有关 奇怪的是 其他数据 从本示例中删除 可以正常
  • 让 Visual Studio 使用不同的次要版本工具集?

    Under C Program Files x86 Microsoft Visual Studio 2019 Professional VC Tools MSVC 我有不同的目录 例如 14 16 xxxxx 14 24 xxxxx 14
  • 类型“Promise”不可分配给类型“string[]”

    出现以下错误 类型 Promise 不可分配给类型 string 类型 Promise 中缺少属性 includes 当我将 Promise 强制转换为 string 时 我的代码如下 组件 app dashboard ts import
  • 如何使用 java - 首选 java8 多线程解压巨大的文件夹?

    参考 http www pixeldonor com 2013 oct 12 concurrent zip compression java nio http www pixeldonor com 2013 oct 12 concurren
  • Python:将一个列表中的值与另一列表中的值序列进行匹配

    确实需要帮助 我对循环感到困惑并碰壁了 我有两个清单 e list edward 1 2 3 4 jane 1 2 3 4 jackie 2 3 4 10 和 a list 要检查的主列表 a list a 1 2 3 b 2 3 c 2
  • CUDA并行NSight同时调试主机和设备

    有谁知道是否可以在远程计算机上使用并行 NSight 调试 CUDA 我能够进入 CUDA 代码 但不能进入我的主机代码 它表示 CUDA 能够生成主机调试信息 因此远程和本地调试应该是可能的 我的显卡是 580 GTX device co
  • 可以重载嵌套私有类的运算符<<吗?

    如何为像这样的嵌套私有类重载运算符 class outer private class nested friend ostream operator lt lt ostream os const nested a 当尝试外部类之外时 编译器
  • 我应该在 PHP PERFORMANCE-WISE 中使用 MySQL 的预准备语句吗?

    我了解 MySQL 中预准备语句的安全优势 无需在此讨论该主题 我想知道他们的性能方面 现在 我知道当使用准备好的语句的查询在单个 PHP 脚本中执行两次时 速度会更快 因为该查询仅解析一次 每个查询一次 客户端进行一次准备 然后使用二进制
  • “易失性”是否能保证多核系统的可移植 C 代码中的任何内容?

    看了一个之后 of https stackoverflow com questions 78172 using c pthreads do shared variables need to be volatile 问题 https stac
  • windows azure 中的子域映射

    我正在使用 VS 2010 WCF 和 Windows Azure 开发任务管理系统 这是一个简单的个性化任务管理应用程序 该应用程序允许用户组织和共享他们的任务 将没有 我的项目中的用户数 如果有人 订阅 该应用程序 那么我们需要使用子域
  • 传统日志记录与 AOP 日志记录

    我正在开始这个新项目 我们正在研究我们的日志记录 调试方法 我想向你们其他人提出这个问题 因为 private final static Logger logger LoggerFactory getLogger getClass publ
  • 绘图数字化 - 从图形图像中抓取样本值

    这并不是真正的 OCR 因为它不识别字符 但它与应用于曲线的想法相同 有人知道用于从 光栅 绘图图像检索值的图像处理库或已建立的算法吗 例如 在这张图中 我很难用眼睛读取精确的值 因为网格线之间存在这样的间隙 我可以使用直尺或其他工具 但它