【问题标题】:Detecting car plates at different ligthings在不同的灯光下检测车牌
【发布时间】:2018-06-13 21:37:08
【问题描述】:

我正在用 Java 编写一个程序,它可以直接从摄像头馈送中检测车牌。我使用 OpenCV 应用自适应阈值,找到轮廓,并检查每个轮廓的尺寸以确定它是否是板。这很好用,但是在根据一天中的时间进行自适应阈值处理时,我必须手动更改 AdaptiveThreshold 方法的 C 常量参数。例如,如果我在夜间使用白天的相同常量,则生成的二进制图像没有白色部分,因此不会检测到轮廓。我想知道是否有一种方法可以根据亮度和/或对比度以某种方式确定 C 常数,以便在应用阈值时,将板检测为任何光照中的轮廓。如果有帮助,我可以发布代码。

提前致谢。

【问题讨论】:

  • 如果您知道与黑色像素相比您期望有多少白色像素,您可以动态计算常数。例如,假设您希望二值图像为 80% 的白色和 20% 的黑色。然后,您可以计算一个常数 C,以便满足这些条件。另一种方法是随着时间的变化凭经验改变值 C。这至少需要您的系统可以访问时间,最好是日期。
  • @Turing85 您的评论非常好,您应该将其发布为答案。
  • @sorfiend 你的愿望就是我的命令 =)

标签: java opencv image-processing


【解决方案1】:

如果您知道与黑色像素相比预期有多少白色像素,则可以动态计算阈值。例如,假设您希望二值图像为 80% 的白色和 20% 的黑色。然后,您可以计算一个阈值,以便满足这些条件。

另一种方法是随着时间的变化凭经验改变阈值。这至少需要您的系统可以访问时间,最好是日期。

【讨论】:

    猜你喜欢
    • 2011-06-11
    • 1970-01-01
    • 2017-07-05
    • 2012-07-29
    • 2011-06-14
    • 1970-01-01
    • 2016-12-28
    • 1970-01-01
    • 2019-04-27
    相关资源
    最近更新 更多