gpt4 book ai didi

c# - 续-车牌检测

转载 作者:太空狗 更新时间:2023-10-29 17:49:57 25 4
gpt4 key购买 nike

从这个线程继续:

What are good algorithms for vehicle license plate detection?

我开发了我的图像处理技术来尽可能强调车牌,总体而言我很满意,这里有两个示例。

alt text

alt text

现在是最困难的部分,实际检测车牌。我知道有一些边缘检测方法,但我的数学很差,所以我无法将一些复杂的公式转化为代码。

到目前为止,我的想法是遍历图像中的每个像素(基于 img 宽度和高度的循环)由此将每个像素与颜色列表进行比较,由此检查算法以查看颜色是否保持差异化在车牌白色和文本的黑色之间。如果这恰好是真的,这些像素将被构建到内存中的新位图中,然后一旦停止检测到该图案,就会执行 OCR 扫描。

我很感激对此的一些意见,因为它可能是一个有缺陷的想法,太慢或太密集。

谢谢

最佳答案

“查看颜色是否始终区分车牌白色和文本黑色”的方法基本上是搜索像素强度多次从黑色变为白色的区域,反之亦然。边缘检测可以完成基本相同的事情。但是,实现自己的方法仍然是一个好主意,因为您会在此过程中学到很多东西。哎呀,为什么不两者都做,并将你的方法的输出与一些现成的边缘检测算法的输出进行比较?

在某些时候,您会想要一个二值图像,比如黑色像素对应“非字符”标签,白色像素对应“是字符”标签。也许最简单的方法是使用阈值函数。但这只有在字符已经以某种方式被强调的情况下才会有效。

正如有人在您的其他帖子中提到的那样,您可以使用黑帽运算符来做到这一点,结果如下:

image after black hat operation

如果您使用 Otsu 的方法(自动确定全局阈值级别)对上面的图像进行阈值处理,您会得到:

alt text

有几种方法可以清理该图像。例如,您可以找到连接的组件并丢弃那些太小、太大、太宽或太高而不能成为字符的组件:

alt text

由于图像中的字符相对较大且完全连接,因此此方法效果很好。

接下来,您可以根据邻居的属性过滤剩余的组件,直到您拥有所需数量的组件(=字符数)。如果你想识别字符,你可以计算每个字符的特征并将它们输入分类器,分类器通常是用监督学习构建的。

当然,上述所有步骤只是一种方法。

顺便说一下,我使用 OpenCV + Python 生成了上面的图像,这是计算机视觉的绝佳组合。

关于c# - 续-车牌检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4727119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com