2017-10-06 120 views
0

我想查找牌照中的所有连接组件。首先,我对图像进行阈值处理,然后在opencv中使用连接的组件函数标记二进制图像,但未检测到红色区域中的字符和蓝色区域中的数字10。我能做些什么来检测角色?在特殊盘中标记字符

车牌样本:

enter image description here enter image description here

+0

图像1中的字符B在红色区域 – sina

回答

0

我敢打赌,你可能会也有问题,如果你想看看限图像。

我假设你已经使用了一个阈值(也可能是灰度)。但是在这里你有三种效果:图像由几个区域组成,颜色和影子。

你可能想看看Adaptive Thresholding,可能还跟着Grab-cut

+0

我使用自适应阈值制作五个不同的二值图像但不工作 – sina

1

尝试使用Niblack阈值。这是我得到的窗口大小= 5和k = 4.25 enter image description here

我将图像转换为灰度,然后做Niblack阈值。这是一个Python代码示例。 (代码不包括连接成分分析和遮蔽,这是需要得到正确的输出)

import cv2 
import numpy as np 
from skimage.filters import threshold_niblack 


image = cv2.imread('IRplate.jpg') 
B_Wimage = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 


thresh = threshold_niblack(B_Wimage, window_size=5, k=4.25) 
ret,thresh = cv2.threshold(thresh,0,255,cv2.THRESH_BINARY_INV) 


cv2.imshow('A1',thresh) 
k = cv2.waitKey(0) 
cv2.destroyAllWindows() 

你将不得不做的阈值的图像上的一些侵蚀/扩张和连接成分分析来获得右边的清洁结果。

希望这会有所帮助! :)