0

我尝试使用自适应阈值和 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 或任何其他算法进行训练的教程

4

1 回答 1

1

从图像中提取文本时,请尝试查看图像,就好像您试图尽可能清楚地查看文本一样。我的教授曾经说过:如果人类可以看到它,那么计算机也可以看到它。您要做的基本上是执行基本的预处理算法,例如对比度增强,如果需要的话,颜色空间转换等。在阈值化之前您想要获得的是尽可能清晰的图像,其中字符毫无疑问,边缘在哪里字符和白色背景之间的关系尽可能明显。

您需要尝试阈值操作。一开始我建议使用带有轨迹栏的简单、固定阈值函数,这样您就不必每次想要更改值时都重新运行代码。你可以在这里找到代码,在我的 GitHub 存储库上。当然,这只是其中的步骤。您仍然需要找到您和角色感兴趣的区域。对于这些步骤,您要查看的可能是轮廓查找

训练部分将更加棘手。这里有一个关于 K-means 的漂亮入门级教程,但我猜你不太确定如何处理它。我不确定在这里推荐什么,因为在您掌握基础知识之前,机器学习可能对您来说有点太难了。无论如何,如果我要这样做,我可能会选择深度学习,但你需要知道测试数据以及你如何准备它在这个过程中至关重要。这是一个非常简单的教程,它可能会让您了解正在发生的事情。

Raaj,请记住,如果您希望人们努力帮助您,那么首先要努力询问是有礼貌的。你必须更好地解释你做了什么,你在哪里看,你得到了什么结果,你对我们有什么期望。图片,我想说,在你的情况下是必须的,你甚至懒得提供这些。祝你好运!

于 2017-02-26T21:54:37.897 回答