我最近发现了笔画宽度变换,如以下研究论文所述:
该算法用于从自然场景中检测和提取文本.
但是,我找不到任何实现,从文章中我发现很难确定算法的所有细节,所以我可以在实践中实现它.有谁知道这个算法是否在系统中实现并在实践中使用?是否有C#或Java实现?
在过去的3个月里,我一直在努力训练Tesseract
通过识别我已经拥有的图像集合,由于缺乏
适当的文档,而且非常高的复杂性我开始
放弃Tesseract作为一个解.
我正在寻找一种替代方案,这
对于训练来说是相对无痛的,我不打算在这里重新发现轮子.
如果没有任何免费的话,我猜付费的解决方案就
必须要做(没有200美元以上)
我试图从你在高中体育馆找到的典型记分牌中提取数字.我将每个数字都用数字"闹钟"字体,并设法透视正确,阈值并从视频输入中提取给定数字

这是我的模板输入示例

我的问题是没有一种分类方法能准确地确定所有数字0-9.我尝试了几种方法
1)Tesseract OCR - 这个在4上一直混乱并经常返回奇怪的结果.只需使用命令行版本.如果我真的尝试用"闹钟"字体训练它,我每次都会得到未知的角色.
2)kNearest与OpenCV - 我搜索由我的模板图像(0-9)组成的数据库,并查看哪一个最近.我经常在3/1和7/1之间混淆
3)cvMatchShapes - 这个很糟糕,它通常无法区分每个输入数字的2位数字
4)切线距离 - 这一个是最接近的,但输入和我的模板之间的最小切线距离最终每次都将"7"映射到"1"
对于这样一个简单的问题,我真的很茫然得到一个分类算法.我觉得我已经很好地清理了输入,这是一个相当简单的分类案例,但我无法获得足够可靠的实际用途.任何有关在何处查找分类算法或如何正确使用它们的想法都将受到赞赏.我没有清理输入吗?那个更好的输入数据库怎么样?我不知道还有什么用于输入,此时每个数字和模板看起来都很明显.
我正在创建一个基于Java的OCR.我的目标是从视频文件中提取文本(后处理).
这是一次艰难的搜索,试图找到纯粹基于Java的免费开源OCR.我发现Tess4J是唯一受欢迎的选项,但考虑到对原生界面的需求,我不知何故感到倾向于从头开发算法.
我需要创建一个可靠的OCR,只要预先定义了文本位于视频帧中的区域,就能以合理的准确度正确识别英文字母(仅限计算机化字体,而不是手写文本).我们还可以假设给出了文本的颜色.
到目前为止我做了什么:
(使用Java绑定为openCV完成的所有图像处理)
我使用以下方法提取了训练分类器的功能:
A.将字符图像下采样到12 X 12分辨率后的像素强度.(144个特征向量)
B.对于所有这些角度,使用信号的均方值,跨越8个不同角度(0,11.25,22.5 ......等)的Gabor小波变换和计算的能量.(8个特征向量)
A + B给出了图像的特征向量.(共152个特征向量)
我有62个课程用于分类,即.0,1,2 ... 9 | a,b,c,d ... y,z | A,B,C,d ... Y,Z
我使用20 x 62个样本(每个类别20个)训练分类器.
为了分类,我使用了以下两种方法:
A. ANN有1个隐藏层(120个节点).输入层有152个节点,输出有62个.隐藏和输出层具有sigmoid激活功能,网络使用弹性反向传播进行训练.
B.整个152维度的kNN分类.
我站着的地方:
k-Nearest Neighbor搜索结果是比神经网络更好的分类器(到目前为止).然而,即使使用kNN,我发现很难对以下字母进行分类:
要么
.
而且,它正在分类
作为Z ...举几个异常.
我在找什么:
我想找出以下内容:
为什么ANN表现不佳?我应该使用什么配置的网络来提高性能?我们可以微调ANN以比kNN搜索更好吗?
我可以使用哪些其他特征向量来使OCR更加健壮?
欢迎任何其他性能优化建议.
我有一张桌子的图像(如下所示).我正在尝试从表中获取数据,类似于此表单(表格图像的第一行):
rows[0] = [x,x, , , , ,x, ,x,x, ,x, ,x, , , , ,x, , , ,x,x,x, ,x, ,x, , , , ]
Run Code Online (Sandbox Code Playgroud)
我需要x的数量以及空格的数量.还会有其他表格图像与此图像相似(都具有x和相同的列数).

到目前为止,我能够使用x的图像检测所有x.而且我可以在一定程度上检测到线条 我正在使用open cv2 for python.我也使用houghTransform来检测水平和垂直线(效果非常好).
我试图找出如何逐行进行并将信息存储在列表中.
这些是训练图像:用于检测x(代码中的train1.png)

用于检测行(代码中的train2.png)

用于检测行(代码中的train3.png)

这是我到目前为止的代码:
# process images
from pytesser import *
from PIL import Image
from matplotlib import pyplot as plt
import pytesseract
import numpy as np
import cv2
import math
import os
# the table images
images = ['table1.png', 'table2.png', 'table3.png', 'table4.png', 'table5.png']
# the template images used …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用图像而不是字体来训练Tesseract 4.
在文档中,他们只解释了字体的方法,而不是图像.
我知道它是如何工作的,当我使用以前版本的Tesseract但我没有得到如何使用box/tiff文件在Tesseract 4中使用LSTM进行训练.
我查看了tesstrain.sh,它用于生成LSTM训练数据,但找不到任何有用的信息.有任何想法吗?
我一直在检查Office 2007 MODI OCR的替代品(OneNote的2010解决方案质量/结果比2007年更低:-().我注意到一旦安装了可选的tiff过滤器,Windows 7就包含一个OCR库
OCR组件已安装到
%programfiles%\Common Files\microsoft shared\OCR\7.0\xocr3.psp.dll
Run Code Online (Sandbox Code Playgroud)
但我没有看到任何API吗?
有没有人看到这可以如何在C#中进行接口?
解答:找到解决方案,一旦安装了可选的tiff ifilter win7功能,我就可以使用http://www.codeproject.com/KB/cs/IFilter.aspx上的代码/ exe获取截图的文本输出.另外,如果为.png和.jpg添加相同的[HKEY_CLASSES_ROOT.tiff\PersistentHandler],那么OCR也适用于jpg和png.
我一直在尝试多次创建一种从汉字中提取笔画信息的算法.我尝试了各种方法,但没有一种非常令人满意,可能是因为我对图形算法的了解有限.
基本上,我有以下数据:
中文字符,可以是像素或矢量(黑色)
笔划的整体轮廓,以像素为单位(红色)
整体方向(蓝色箭头).

由此,我试图提取中风.如果必须这样做,根据可用数据,您会使用哪些方法?你能想到任何自动提取中风的方法吗?
我正计划开发像Word Lens这样的应用程序.任何人都可以建议我可以使用的好图书馆吗?或任何人解释Word Lens App背后的技术?是卷轴时间图像匹配还是OCR?我知道一些图像处理库,如OpenCv,tesseract ...非常感谢任何帮助......
我刚开始使用Tesseract.
我按照这里描述的说明操作.
我创建了一个这样的测试图像:
training/text2image --text=test.txt --outputbase=eng.Arial.exp0 --font='Arial' --fonts_dir=/usr/share/fonts
Run Code Online (Sandbox Code Playgroud)
现在我想训练Tesseract如下:
tesseract eng.Arial.exp0.tif eng.Arial.exp0 box.train
Run Code Online (Sandbox Code Playgroud)
这是我的输出:
Tesseract Open Source OCR Engine v3.04.00 with Leptonica
Page 1
APPLY_BOXES:
Boxes read from boxfile: 112
Found 112 good blobs.
Generated training data for 21 words
Warning in pixReadMemTiff: tiff page 1 not found
Run Code Online (Sandbox Code Playgroud)
这可以防止创建fontfile.tr文件.我已经尝试继续忽略警告,但在创建char-sets时,我得到了一个令人满意的内容:
unicharset_extractor lang.fontname.exp0.box
"58
NULL 0 NULL 0
Joined 0 0,255,0,255,0,0,0,0,0,0 NULL 0 0 0 # Joined [4a 6f 69 6e 65 64 ]
|Broken|0|1 0 …Run Code Online (Sandbox Code Playgroud)