- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
从这个线程继续:
What are good algorithms for vehicle license plate detection?
我开发了我的图像处理技术来尽可能强调车牌,总体而言我很满意,这里有两个示例。
现在是最困难的部分,实际检测车牌。我知道有一些边缘检测方法,但我的数学很差,所以我无法将一些复杂的公式转化为代码。
到目前为止,我的想法是遍历图像中的每个像素(基于 img 宽度和高度的循环)由此将每个像素与颜色列表进行比较,由此检查算法以查看颜色是否保持差异化在车牌白色和文本的黑色之间。如果这恰好是真的,这些像素将被构建到内存中的新位图中,然后一旦停止检测到该图案,就会执行 OCR 扫描。
我很感激对此的一些意见,因为它可能是一个有缺陷的想法,太慢或太密集。
谢谢
最佳答案
“查看颜色是否始终区分车牌白色和文本黑色”的方法基本上是搜索像素强度多次从黑色变为白色的区域,反之亦然。边缘检测可以完成基本相同的事情。但是,实现自己的方法仍然是一个好主意,因为您会在此过程中学到很多东西。哎呀,为什么不两者都做,并将你的方法的输出与一些现成的边缘检测算法的输出进行比较?
在某些时候,您会想要一个二值图像,比如黑色像素对应“非字符”标签,白色像素对应“是字符”标签。也许最简单的方法是使用阈值函数。但这只有在字符已经以某种方式被强调的情况下才会有效。
正如有人在您的其他帖子中提到的那样,您可以使用黑帽运算符来做到这一点,结果如下:
如果您使用 Otsu 的方法(自动确定全局阈值级别)对上面的图像进行阈值处理,您会得到:
有几种方法可以清理该图像。例如,您可以找到连接的组件并丢弃那些太小、太大、太宽或太高而不能成为字符的组件:
由于图像中的字符相对较大且完全连接,因此此方法效果很好。
接下来,您可以根据邻居的属性过滤剩余的组件,直到您拥有所需数量的组件(=字符数)。如果你想识别字符,你可以计算每个字符的特征并将它们输入分类器,分类器通常是用监督学习构建的。
当然,上述所有步骤只是一种方法。
顺便说一下,我使用 OpenCV + Python 生成了上面的图像,这是计算机视觉的绝佳组合。
关于c# - 续-车牌检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4727119/
当我的测试用例挂起时,我设法生成了线程转储。但是,这似乎不是死锁、竞争条件或资源争用。但是在我的加载测试工具中使用 3 个虚拟用户运行测试用例时,它肯定会挂起。任何人都可以在这里指出我正确的方向吗?干
复制代码 代码如下: #!/usr/bin/perl use File::DirWalk; use File::Basename; use Data::Dumper; use warnings;
个人认为影响的原因: 匹配到的图片url并不是有效的url,文中只是简单的判断是否是相对路径,但是有些url是失效的 解决办法:就是新增判断是否是真实有效url的图片 复制代码
考虑到这个问题:Passing a Shapeless Extensible Record to a Function,Travis的答案表明,每个以可扩展记录为参数的函数都必须有一个隐式选择器作为参
我通过这样的套接字发送ascii: outputStreamWriter(s + (char) 13); outputStreamWriter.flush(); 在现场,flush() 和通过网络发送
在我们正在进行的重构练习中,我们必须更改选定网站的页面模板。大多数页面都被本地化并通过下面的代码更新了他们的页面模板,但对于一些我们得到以下错误: “名称、文件名对于以下类型的项目必须是唯一的:其结构
我知道已经有Default value on generic predicate as argument了。 但是,也许现在c++ 11,c++ 14或c++ 17有了新的选择? 我如何才能使这项工作
select sum(case when NumFirstNames <> 1 then 1 else 0 end) as DifferentFirstNames, sum(case when
我已将:根证书、中间证书、服务器证书导入 Tomcat for Windows 的 Java Keystore。 这些是 VeriSign(商业)证书.. 我们不能将 keyAlias 用于连接器 -
我的问题是基于这个问题:Correct way to inherit from a virtual class with non-virtual parent . 我的理解是否正确,在问题中描述的情况
我不确定是否需要使用像 PLINQ 这样的高级技术,因为我想重新表述我之前的问题 Paralleling trading software我认为我之前的问题太复杂而且不清楚,我希望现在我准确地提取了所
这是我在这里遇到的问题(仍未解决)的延续:link 但这可能有助于理解问题所在。我只创建了一个简单的测试项目('Empty Application')并添加了一个带有 XIB 文件的 View Con
好的,所以昨天我发布了一个关于创建一个模拟电影矩阵雨的 java jframe 的问题,我希望它就像这个 php 示例一样 http://mgccl.com/2007/03/30/simple-ver
从这个线程继续: What are good algorithms for vehicle license plate detection? 我开发了我的图像处理技术来尽可能强调车牌,总体而言我很满意
这个问题在我这里的问题上继续(根据 Mystical 的建议): C code loop performance 继续我的问题,当我使用打包指令而不是标量指令时,使用内部函数的代码看起来非常相似: f
这是 My Old Question 的延续 这是我创建一个新学生对象的函数: function student(id, name, marks, mob, home){ this.id =
建立在我的 last question我想弄清楚如何.local和 .comm指令准确地工作,特别是它们如何影响 C 中的链接和持续时间。 所以我进行了以下实验: static int value;
这个问题引用这个之前的one由 Christian Metzler 在 SO 上发布. 我唯一非常有限的关于注解的经验包括使用最近 Delphi 版本中引入的 CustomAttribute。 我的问
我正在使用 Jetty 和 Continuations 来实现长轮询,但我没有找到检测客户端断开连接的方法。 我知道,在第一次运行(创建 Continuation)和任何后续运行之间的时间里,由于 H
这是 CSS Display an Image Resized and Cropped 的延续.该用户的答案似乎没问题,但我需要一些帮助来改进该答案... 问:resize(缩放)如何在运行时与图像的
我是一名优秀的程序员,十分优秀!