首页 > 解决方案 > 如何在python中改善灰色背景图像上的模糊文本

问题描述

我正在处理灰色背景图像,我必须在其中增强文本以便我可以进行 OCR 我做了一些方法,但我未能增强文本。我正在处理这张图片。https://i.stack.imgur.com/Nm7Ti.jpg

im = cv.imread('image.png')
imgray = cv.cvtColor(im, cv.COLOR_BGR2GRAY)
ret, thresh = cv.threshold(imgray, 127, 255, cv.THRESH_BINARY)

def size_threshold(bw, minimum, maximum):
    retval, labels, stats, centroids = cv.connectedComponentsWithStats(bw)
    for val in np.where((stats[:, 4] < minimum) + (stats[:, 4] > maximum))[0]:
      labels[labels==val] = 0
    return (labels > 0).astype(np.uint8) * 255

def y_centroid_threshold(bw, minimum, maximum):
    retval, labels, stats, centroids = cv.connectedComponentsWithStats(bw)
    for val in np.where((centroids[:, 1] < minimum) + (centroids[:, 1] > maximum))[0]:
      labels[labels==val] = 0
    return (labels > 0).astype(np.uint8) * 255

sized = size_threshold(thresh, 60, 300)
centered = y_centroid_threshold(sized, 40, 63)
cv.imwrite('ocr_out.png', centered)

标签: pythonopencvimage-processingcomputer-visionpython-tesseract

解决方案


推荐阅读