答案 0 :(得分:2)
这里有两个问题,从输入到输出:
首先是分隔你的角色。如果你的图片看起来总是这样,数字整齐分离,那么你应该没有问题,使用findContours
或connectedComponents
将它们分开,可能还有像minAreaRect
这样的边界框函数。
第二个问题是,一旦你分开你的数字,如何分辨图像所代表的数字。此问题的名称为:OCR 如果您有很多图像,也可以训练分类算法,因为您对此问题的标记表明了这一点。现在的“热门话题”是使用神经网络深度学习,但对于简单的应用程序,使用手工设计功能的常规机器学习分类可能会起到作用。
答案 1 :(得分:1)
如果你想对数字进行分段,我会首先尝试使用开场操作(因为你的字母在白色背景上是黑色的,如果它是相反的话它会关闭)以填补你的洞在你的号码。然后我会垂直投影像素并分析你得到的形状。如果您在此投影形状中找到谷点,您将获得字符之间的垂直限制。您可以水平地执行相同操作以获取字符的上限和下限。只有在文本是水平的情况下,此方法才有效。
然后你可以使用标准的OCR库或深入学习。由于这些数字似乎来自MNIST数据集,因此您可以在此数据集中找到大量使用深度学习或其他技术进行OCR的示例: