您好,我正在一个需要查找车牌轮廓的程序上,对于车牌来说一切都很好,但是当我尝试获取红色车牌的轮廓时,它无法正确显示轮廓,我检查所有将图像转换为灰色的结果,然后对图像进行模糊处理,然后对图像进行阈值处理以实现查找轮廓,这些就是图像:
原始图片:
灰度图像:
图像阈值:
找到轮廓:
如图所示,我想获取阿拉伯数字周围的轮廓,但数字周围的阈值内部为白色和黑色,因此无法完美地围绕它们
就像这张图片一样:
这是我处理两个图像的代码:
image = cv2.imread('red_image3.jpg')
gray_image = extractValue(image)
imgMaxContrastGrayscale = maximizeContrast(gray_image)
imgBlurred = cv2.GaussianBlur(imgMaxContrastGrayscale, (3,3), 0)
imgThresh = cv2.adaptiveThreshold(imgBlurred, 255.0, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV,
17, 9)
contours, _ = cv2.findContours(imgThresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)
for contour in contours :
(x,y,w,h) = cv2.boundingRect(contour)
cv2.rectangle(image , (x,y) , (x+w,y+h),(0,255,0), thickness=1)