我真的需要你的帮助,我很绝望。
我正在尝试构建OCR应用程序,但遇到了一些我无法单独解决的问题。
现在,我将图像切割成板状并进行一些过滤以减少噪声。
例如,这是从图像上切割并过滤后的板:
现在因为板是倾斜的,并且仍然有噪音(如数字9和3上方),所以识别过程(使用corr2)给了我错误的数字。
例如:
如您所见,唯一的问题是数字9和3(在左侧)的噪音令人不安。
我曾想过要拉伸图像,以使每个数字都适合所有正方形(顶部没有黑线),但是我找不到任何方法可以适用于所有图像。
编辑:这是来自corr2函数的结果,我用红色标记了数字9和3的结果。
请给我一个想法或可行的解决方案...
任何帮助将不胜感激。
只是提示,对于这个问题,卷积并不是一种特别健壮或有效的方法。 您应该研究机器学习主题,例如神经网络或支持向量机。 这里有很多相关信息:stackoverflow.com/questions/850717/
考虑模糊训练图像(假设第二行是训练模板),以使数字笔划的暗度和粗细与您的输入相似。 至于第一个数字(9误认为1),您确定它的相关性是正的吗? 对于此特定输入,您能否列出其对所有模板的相关性(从0到9),以便很好地了解它与被误认的距离有多近? 最后,您还可以尝试线性判别分析或特征脸,这是一个更简单的起点。
@rwong Ive更新了问题,谢谢。
我认为您应该重新检查您的主图像...此外,看看这个答案stackoverflow.com/questions/4777677/,也许您可以获得一些启发
您可以预处理上一个问题中发布的图像:
类似于:(Mathematica中的代码)
Dilation[
DeleteSmallComponents[
Pruning[
Thinning@
Binarize[
ColorSeparate[
ColorNegate@yourColorImage,"HSB"][[3]],
.92],
10],
30],
3]
结果:
现在,您的OCR应该顺利通过,就像这样:
编辑
您其他问题中发布的分步过程