之前我问过这个问题“如何从图像中提取数字”LINK最后我做了这一步但是有一些测试用例在我尝试识别数字时会导致糟糕的输出。考虑这个图像作为一个例子
此图像是低对比度(来自我的POV)我试图调整其对比度,结果仍然是不可接受的。我也尝试使其锐化然后我应用伽马校正但结果仍不公平,因此提取的数字不分类器很好地认识到了
这是(锐化+伽玛)后的图像
分离后的第4号:
有人能告诉我解决这个问题的最佳方法是什么?
答案 0 :(得分:2)
锐化并不总是解决此类问题的最佳工具。与名称所暗示的相反,锐化不会恢复"用于将细节和边缘添加回图像的信息。相反,锐化是一类增加边缘局部对比度的操作。
由于原始图像质量严重下降,因此这种锐化操作看起来会增加很多噪音,并且通常不会做得更好。
还有另一类算法称为" deblurring"试图通过(更复杂的)数学模型实际重建图像细节的算法。其中一些版本是盲解卷积,正则化反卷积和维纳反卷积。
然而,重要的是要注意所有这些方法都是近似值 - 一旦图像内容通过模糊等操作丢失,它(几乎)永远不会完全恢复。而且,这些方法通常要复杂得多。
处理这些情况的最佳方法是确保它们永远不会发生。确保在图像捕获期间获得良好的聚焦,使用具有适合您任务的分辨率的系统,控制照明环境。但是,当这些方法不起作用或不起作用时,需要使用图像重建技术。
答案 1 :(得分:0)
您的图片模糊,我建议您尝试wiener deconvolution。您可以假设点扩散函数是高斯函数,并观察解卷积过程发生了什么。由于您事先不知道模糊内核,blind deconvolution是另一种选择。
答案 2 :(得分:0)
我不建议在OCR /数字识别应用程序中使用过重的图像处理算法。不像索贝尔滤波器,阈值处理,扩张和侵蚀那样花哨。如果不知道导致图像模糊的原因,以及PSF,去卷积等去模糊方法可能只会使图像对比度恶化。
在我看来,图像捕捉失焦。如果是这种情况,请尝试重新捕获更好的聚焦图像(或获取相机的PSF,但不推荐,因为它实际上不太可行)。否则,您可能希望找到尽可能多的样本。这些样本是在各种条件下捕获的,例如离焦,长时间曝光引起的饱和度,玻璃后面等。使用更多样本,您可以“学习”数字。 “学习”可能不一定意味着标记机器学习。例如,您可以将image fusion方法与各种模板一起使用。您也可以尝试无人监督的机器学习,例如k-means on the digit images with different resolutions。然而,最强大的方法是监督机器学习,如神经网络。你可以很容易地找到这方面的大量研究。
您可能会注意到我向您展示的参考文献主要应用于车牌识别问题,因为在该问题中捕获的图片可能会遇到比您的情况更严重的条件(距离,亮度,天气等)。这就是为什么我建议你在开始时拍出质量更好的照片。
希望它有所帮助。