我想在牌照中找到所有连接的组件。首先,我对图像进行阈值处理,然后在opencv中使用连通分量函数来标记二进制图像,但是未检测到红色区域中的字符和蓝色区域中的数字10。我该怎么做来检测角色?
车牌样品:
答案 0 :(得分:1)
尝试使用Niblack阈值处理。这是我用窗口大小= 5和k = 4.25得到的
我将图像转换为灰度,然后进行了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()
您必须在阈值图像上进行一些侵蚀/扩张和连通分量分析才能获得清晰的结果。
希望这有帮助! :)
答案 1 :(得分:0)
我打赌你可能也有问题,如果你看一下阈值图像。
我假设您使用了一个阈值(可能还有一个灰度)。但是你在这里有三种效果:图像由几个区域组成,它是彩色的,并且有一个阴影。
您可能需要查看Adaptive Thresholding,可能后面跟Grab-cut