我正在使用基于SVM分类的HOG特征检测器。我可以成功提取车牌,但提取的车牌除了许可证号外还有一些不必要的像素/线。我的图像处理管道如下:
应用自适应阈值突出显示板数&使用以下 Opencv 代码
过滤背景cvAdaptiveThreshold(cropped_plate, thresholded_plate, 255,CV_ADAPTIVE_THRESH_GAUSSIAN_C, CV_THRESH_BINARY_INV,11, 9);
去偏斜板图像
由于这些不必要的信息, Tesseract-OCR 软件对于正确识别数字感到困惑。提取的车牌图像如下所示。
如何从图像中过滤掉这些不必要的像素/线条?任何帮助将不胜感激。
答案 0 :(得分:2)
您想要删除图像中的所有非文本对象。为此,我建议按边界框(maxy - miny)*(maxx - minx)的面积对斑点进行排序。做一些统计分析;你知道你正在寻找类似大小的物体。识别出字符的大致大小后,请创建一个估计整个文本的较大边界框。保留其中的小斑点,因此对于您的图片,将保留破折号。
答案 1 :(得分:0)
你可以通过过滤轮廓来实现很多目标。尝试找到具有特定宽度/高度比的轮廓,具有countNonZero()
的一定量的白色像素等。如果这没有帮助,您可以始终尝试实现像Run Length Smoothing Algorithm这样的文本检测算法( RLSA)。