检测图像中的比例尺 – 特征检测或模式识别

为了自动将像素转换为实际长度测量,找到图像中比例尺的最佳方法是什么?
我发现了一些关于查找条形码的工作,这可能类似,但它们似乎是利用图像水平和垂直横截面的对比度差异来进行的,我认为这对于查找比例尺效果不会很好。使用神经网络还是某种模式识别会是最佳选择,或者我可以通过一些图像处理来提供更合理的逻辑?我对图像处理非常新手。
我假设大多数人都见过带有比例尺的显微镜图像,但以防万一,这里有一些我所指的例子:

some scale bar image这将返回100纳米和比例尺的像素长度。

another scale bar image这将返回500纳米和比例尺的像素长度。

another guy这将返回5纳米和比例尺的像素长度。

我开始使用OpenCV来解决这个问题,但我对语言、软件包或算法的建议持开放态度。关于图像处理中的这项任务,有人有什么想法吗?


回答:

我认为解决这个问题的理想方法是从OCR的角度出发,这几乎是一个已解决的问题。为此,你需要查找图像中类似nm、mm、cm等模式的位置。一旦你找到了比例字符的位置,假设比例尺会位于附近位置,并且与其他水平线段有足够的区别。可以有两种情况:

  1. 比例尺位于无纹理背景上。在这种情况下,问题应该不难,因为可以搜索水平线段。你如何找到线段?进行带滞后的边缘检测,计算直线度指标(你可以自己定义)。

  2. 比例尺位于有纹理的背景上,比如谷歌图片。在这种情况下,你可能需要基于RANSAC拟合一条线(在阈值化边缘权重后),以便可以剔除不对应于直线的虚假候选者。背景中甚至可能有线条。此时,你可以选择与比例字符最接近的线段,角度为0/90度(取决于字符的方向)。另一个好的假设是,比例尺上的线条边缘强度会比背景线条更强。

我觉得这个问题可以纯粹通过视觉来解决,而不需要涉及太多数据学习。当然,如果OCR系统使用了一些内置的学习,那可能是其中的一部分,但是为了获取比例尺,计算机视觉系统应该就足够了。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注