我正在用Java编写一个程序,该程序可直接从摄像机供稿中检测车牌。我使用OpenCV来应用自适应阈值,找到轮廓,并检查每个轮廓的尺寸以确定它是否是板。这很好,但是我必须根据一天中的时间在执行自适应阈值设置时手动更改adaptiveThreshold方法的C常数参数。例如,如果我在夜间从白天使用相同的常数,则生成的二进制图像将没有白色部分,因此不会检测到轮廓。我想知道是否有一种方法可以根据亮度和/或对比度确定C常数,以便在应用阈值时,可以在任何贴合度中将板检测为轮廓。如果有帮助,我可以发布代码。
提前致谢。
最佳答案
如果知道与黑色像素相比预期有多少白色像素,则可以动态计算阈值。例如,假设您期望二进制图像为80%白色和20%黑色。然后,您可以计算阈值,以便满足这些条件。
另一种方法是随着时间的变化凭经验改变阈值。这至少要求您的系统有权访问时间,最好是日期。
关于java - 在不同的灯光下检测车牌,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50846638/