如何识别图像中的字母? (在OCRing之前)

我在网上找到的所有内容都是关于OCR的,但我还没有,我仍然需要识别图像中的字母。 任何帮助将不胜感激     
已邀请:
一般来说,你会寻找几乎纯色的小邻接区域。我建议对每个像素进行采样并构建一个附近像素阵列,这些像素也落在原始像素颜色的阈值范围内(对每个匹配像素的邻居重复)。将整个阵列放在一边作为潜在角色(或立即检查)并继续前进(可能忽略先前收集的像素以加速)。 如果您事先知道文本的字体大小,质量和/或颜色,则可以进行优化。如果不是,你会想要对你构成“连续区域”的门槛相当慷慨。     
有趣的是,答案并不像看起来那么简单。有些人可能认为在图片上定位字符是OCR的第一步,但事实并非如此。实际上,在实际完成识别之前,您不确定每个角色的位置。 它的工作方式完全取决于您要识别的图像类型。首先,您应该在文本区域(块)和其他所有内容上分割图像。 只有几个例子: 如果您正在识别汽车图片上的车牌,则应首先找到车牌,然后将其拆分为单独的字符。 如果您正在识别某些申请表,您可以通过了解其布局来找到文本所在的区域 如果您正在识别书页的扫描,则必须区分图片和文本区域,然后才能处理文本。 从这一刻开始,您不再需要原始图像,您只需要文本块的二值化图像。所有OCR算法都适用于二进制图像。您可能还需要进行其他类型的图像转换,如线条矫直,透视校正,歪斜校正等等 - 所有这些都取决于您正在识别的图像类型。 找到文本块并对其进行规范化后,您应该进一步查找文本块上的文本行。在水平线文本的平凡情况下,通过水平线创建像素直方图非常简单。 现在,当你有线条时,你可能会认为现在它很简单,你可以把它分成字符,好吧!再次,这是错误的。存在诸如连通字符,破碎字符甚至连字(两个字母形成单个形状)或字母,其部分进一步向右上方或下方字符下方的现象。你应该做的是创建几个将字符串分为单词和单个字符的hipiques,然后尝试OCR每个变体,用置信度对每个hypotesis进行加权。最后一步是使用字典检查此图中的不同路径并选择最佳路径。 只有现在,当你真正认识到一切时,你可以说出个别角色的位置。 所以,简单的答案是:用OCR程序识别你的图像,并从它的输出中获取字符的坐标。     

要回复问题请先登录注册