【计算机视觉】如何从黑板上提取文本?

2024年02月27日 由 alex 发表 235 0

大多数人都在学校里拍过黑板。要么是因为懒得写下黑板上的内容,要么是因为看不清,不得不快速记录。很显然,这些照片中的大部分最终都会被遗忘。别担心,我知道还是因为懒惰。


在我们的脑海中,如果能得到图片内容的摘要,那就更简单了。虽然这是可能的,但必须执行某些操作才能实现。在本文中,我们将探讨如何处理图像以提取文本行。提取文本后,我们就可以利用它来做任何我们想做的事情。


19


让我们在以下概述的指引下,一起来看看吧:


1- 首先,我们将了解如何从图像中提取黑板


2- 接下来,我们将检索黑板上的所有文本行


我不想一开始就列举我们在实现目标过程中可能面临的困难和挑战。不过,我们会尝试谈论其中的几个问题,并从一开始就设定我们的限制。我们将面临的第一个挑战是图像中的电路板数量。目前,我们只处理一块木板。事实上,提取木板的技术一次只能提取一块木板,如果有两块分开的木板,就无法提取了。


另一个问题是木板的颜色会影响检测。目前,我们要检测的是绿色的木板,而不是黑色或白色的木板。遮挡和图像亮度等其他问题也不容忽视,它们可能会降低检测到木板的几率。


黑板提取过程

让我们来看看从图像中提取木板的过程。我们的第一直觉是木板是平行四边形结构,这意味着它有四条边界。那么问题来了,我们该如何捕捉这种四边形的四条边呢?


每条边界都可以看作一条直线,而直线都有一个仿射方程。确定这四个极点的方程将有助于我们识别木板的边缘。为此,我们将利用霍夫线变换。它究竟是什么?霍夫线性变换(Hough Line Transform)又称霍夫变换(Hough Transform),是一种计算机视觉技术,可用于检测图像中的直线。在本文中,我们不会详细介绍它的工作原理,但对于好奇的人来说,这里有一个链接可以查看。为了将这种变换应用于图像,我们首先需要进行一些预处理,其中之一就是 Canny 边缘检测。它可以简化 Hough 变换,从而更好地检测线条。


20


检测到图像中的所有线条后,我们需要将它们投影到图像框架上,因为 Hough 变换并不一定会发现横跨整个图像的线条。从 Hough 变换中收集到所有线条后,我们将着手消除不必要的线条。我们将只保留描述木板四边的最佳线条。


21


因此,有必要为黑板的低水平、高水平、左垂直和右垂直部分捕捉一条线。这些线应该最靠近图像的中心。因此,我们需要关于线条方向(垂直或水平)及其位置(左或右、低或高)的信息。


22


我们已经有了棋盘每条边对应的直线,现在我们可以利用这些直线的交点和它们的方程来提取棋盘。


23


文本提取过程

很好,我们已经提取了整个黑板,没有无关的部分。现在该使用本文中的一种技术提取电路板中的每一行文本了。


在这项技术中,第一步是获取所有相连的组件。我们将利用这些组件的边框来计算每个边框的一阶几何力矩,也称为重心。


24


剩下的工作就是获取位于同一直线上的重心信息。这就需要一个关键信息,即边界框的平均高度,这将使我们能够对力矩进行水平扫描。通过使用参数化范围,我们就可以知道某个时刻是否与另一个时刻位于同一直线上。


25


上图是该过程的简单示意图。对于给定的点 B,我们想知道它是否与参考点 A 在同一条直线上。我们将根据 A 的 y 坐标,检查 B 的 y 坐标是否在一定范围内,然后加上或减去边界框的平均高度除以 2。如果是,则将其添加到与 A 相同的列表中,否则将其作为参照物,检查另一个点。检查完所有点后,我们会得到一个二维数组,其中每个子数组都是一行文本,包含边界框的有序矩。将这些点连接起来就得到了下图:


26


有了与同一条直线相关的点的信息,提取直线就变得非常容易了。既然我是个好人,那我就给你一个非常琐碎的方法。我们的点是按列表排序的,列表中包含相应的边框信息。因此,我们需要知道,对于同一条直线上的每一组点,哪个边界框向上偏移最大,哪个边界框向下偏移最大。这将告诉我们如何剪切线条。


在本文中,我们看到了如何从黑板中提取文本行。这个过程包括使用 Hough 变换从图像中只裁剪木板。然后,我们应用连接组件的几何矩,将位于同一直线上的元素分组。此外,还可以将提取的每一行输入 OCR 工具,以便将这些线条转换为数字文本。这种方法并不适用于所有情况,如多块木板提取、低对比度或高亮度的木板图像。但可以通过调整来解决这些问题。该方法中的一些步骤没有提及,否则本文会很冗长。这种提取方法可应用于多种领域,如从图像中提取汽车车牌号码、从笔记本中提取手写文字等。



文章来源:https://medium.com/mlearning-ai/extracting-text-from-a-board-unveiling-the-power-of-computer-vision-3811b823a630
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
热门职位
Maluuba
20000~40000/月
Cisco
25000~30000/月 深圳市
PilotAILabs
30000~60000/年 深圳市
写评论取消
回复取消