python opencv清除噪音并删除框

时间:2018-06-10 20:45:17

标签: python opencv opencv3.0

我想从图像的上半部分清除噪音,因为它已损坏并且在文本识别中会产生错误的结果

enter image description here

我想清楚字母/字符,并删除框环绕字母

我使用了这段代码:

def remove_boxes(image,flag=False): 
    # threshold the gray image to binarize, and negate it
    _,binary = cv2.threshold(image, 150, 255, cv2.THRESH_BINARY)
    if flag :
        binary = cv2.bitwise_not(binary)

    # find external contours of all shapes
    _,contours,_ = cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)

    # create a mask for floodfill function, see documentation
    h,w,_= cropped_top.shape
    mask = np.zeros((h+2,w+2), np.uint8)

    # determine which contour belongs to a square or rectangle
    for cnt in contours:
        poly = cv2.approxPolyDP(cnt, 0.02*cv2.arcLength(cnt,True),True)
        if len(poly) == 4:
            # if the contour has 4 vertices then floodfill that contour with black color
            cnt = np.vstack(cnt).squeeze()
            _,binary,_,_ = cv2.floodFill(binary, mask, tuple(cnt[0]), 0)
    # convert image back to original color
    if flag:
        binary = cv2.bitwise_not(binary)   
    return binary

但它没有删除框中的字母 D

0 个答案:

没有答案