我尝试使用自适应阈值和Thesh_Binary_Inv将图像转换为灰色
gray = cv2.cvtColor(img1,cv2.COLOR_BGR2GRAY)
adapt1 = cv2.adaptiveThreshold(gray,130,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY_INV,153,40)
并尝试使用pytesser获取车牌,但获得一些随机值作为输出
谁能帮助我从图像中提取文本以及在哪里可以找到有关如何使用kmeans或任何其他算法进行训练的教程
最佳答案
从图像中提取文本时,请尝试看图像,就像您试图尽可能清晰地看到文本一样。我的教授曾经说过:如果人类可以看到它,那么计算机也可以看到它。您要做的基本上是执行基本的预处理算法,例如对比度增强,必要时进行色彩空间转换等。在阈值化之前要获取的是尽可能清晰的图像,毫无疑问,字符和边缘在哪里字符和白色背景之间的联系尽可能明显。
您需要尝试阈值操作。一开始,我建议将简单的固定阈值功能与跟踪栏一起使用,这样就不必在每次更改值时都重新运行代码。您可以在我的GitHub存储库上的here上找到代码。当然,这只是步骤之一。您仍然需要找到您和角色感兴趣的区域。您想要查看的这些步骤可能是contour finding。
培训部分将更加棘手。在K-means here上有一个漂亮的入门级教程,但是我想您不太确定该怎么做。我不确定在这里推荐什么,因为在您掌握基础知识之前,机器学习可能对您来说有点困难。无论如何,如果我要这样做,我可能会去深度学习,但是您需要知道测试数据以及如何准备数据对于该过程至关重要。这是一个very simple tutorial,它可能使您了解正在发生的事情。
Raaj,请记住,如果您希望人们付出努力帮助您,那么首先投入精力是很好的举止。您必须更好地解释您尝试了什么,您在哪里看,获得了什么结果以及您对我们的期望是什么。我想说的是,在您的情况下,图像是必须的,您甚至不必费心提供这些图像。祝好运!