在红板图像上绘制轮廓

时间:2019-12-22 11:44:01

标签: python opencv image-processing colors opencv-drawcontour

您好,我正在一个需要查找车牌轮廓的程序上,对于车牌来说一切都很好,但是当我尝试获取红色车牌的轮廓时,它无法正确显示轮廓,我检查所有将图像转换为灰色的结果,然后对图像进行模糊处理,然后对图像进行阈值处理以实现查找轮廓,这些就是图像:

原始图片:

enter image description here

灰度图像:

enter image description here

图像阈值:

enter image description here

找到轮廓:

enter image description here

如图所示,我想获取阿拉伯数字周围的轮廓,但数字周围的阈值内部为白色和黑色,因此无法完美地围绕它们

就像这张图片一样:

enter image description here

这是我处理两个图像的代码:

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)

0 个答案:

没有答案