【问题标题】:Red plate license number detection: Threshold红牌车牌检测:阈值
【发布时间】:2017-07-05 20:02:42
【问题描述】:

(C#, EmguCV) 我已经为黑色背景白色前景牌照号码开发了anpr。但我是红色背景板的堆栈。我使用灰度和大津阈值和轮廓形态等预处理来检测字符。但是对于红板,阈值的结果是白色区域(图2),因此字符被遗漏。有什么帮助吗?

【问题讨论】:

    标签: c# opencv emgucv anpr


    【解决方案1】:

    不知道您使用的是什么软件/硬件,但只是:当您通过另一个原色滤光片(例如绿色)看到红色时,它会变成黑色,而白色文本会变成绿色。 (通过绿色过滤器的黑色也保持黑色,白色文本再次变为绿色。)

    【讨论】:

      【解决方案2】:

      由于您正在收集候选对象,因此请尝试将图像拆分为多个层,以便获得红色、绿色和蓝色的灰度图像。在红色图像上,盘子应该是全白的(因为它是灰度图像,越红,它现在变得越白),但在绿色和蓝色的盘子上,盘子应该是黑色或深绿色,带有白色的数字和字符.

      如图所示,蓝色和绿色正好符合您的需求,而红色代表一个白色矩形(用于更快地检测候选者)

      Mat 和 Image 提供了一些很好的方法;它应该有帮助:

      Mat[] Split(); // from Mat
      TDepth[,,] Data; // from Image<TColor, TDepth> or even better:
      Image<Gray, TDepth>[] Split(); // from Image<TColor, TDepth> too
      CvInvoke.EqualizeHist( inGray, betterGray); // would enhance images with low light
      

      只需检查您的图像有多少个通道并检查每个通道。

      【讨论】:

        猜你喜欢
        • 2011-06-11
        • 2012-07-29
        • 2011-06-14
        • 1970-01-01
        • 2016-12-28
        • 2018-06-10
        • 1970-01-01
        • 2018-10-22
        • 1970-01-01
        相关资源
        最近更新 更多