如何准确识别车牌上的斑点?这里有两种类型的板,似乎无法通过一种算法来检测两种类型

时间:2019-04-21 12:53:14

标签: c++ opencv

我的LPD结果在平板上的屏幕截图(类型1) Screenshot of my LPD results on a plate (type 1)

我正在进行车牌识别,但是由于这里的车牌有2种不同类型的车牌,所以挂在了“车牌检测”部分。

这是车牌的第二种类型 This is the second type of license plate

我可以通过调整边界矩形的宽度和高度来查找单个车牌,但希望找到一种无需手动更改值即可检测两种车牌类型的方法

我已经做了均衡的直方图/二值化/消除了噪声/扩大了。我尝试使用行和列以及比率,但似乎不适合所有盘子。仅需要帮助检测所有板块即可。下面的代码是我所求助的。

for (int j = 0; j < contours1.size(); j++) {
    BlobRect = boundingRect(contours1[j]);

    if (BlobRect.width > 150 || BlobRect.width < 80
           || BlobRect.height > 50 || BlobRect.height < 20)
        drawContours(Blob, contours1, j, black, -1, 8);
    else 
        plate = Grey(BlobRect);
}

对于大多数印版而言,此方法有效,但对于数字和字母位于两行而不是一条直线中的印版,则不起作用。反之亦然,如果我更改宽度和高度。

0 个答案:

没有答案