使用opencv消除其他颜色/噪音

时间:2019-07-10 03:11:41

标签: python opencv

我正在研究去除文本中的背景噪声,我已经知道这些文本将具有固定的颜色,但是噪声可能会非常不同。

例如,我想从图像中删除其余部分,但只保留文本“ Do it now!”,我的计划是首先对该图像进行预处理,去除噪声,然后发送处理后的图像要进行tesseract进行OCR,请参见此处的图片: enter image description here

我是opencv的新手,并且具有一些opencv的基础知识,有人可以为我指明方向,以便我学习吗?

现在,tesseract无法从该图像中检测到任何文本

[from PIL import Image
from pytesseract import *

if __name__ =="__main__":
    pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract'
    print(pytesseract.image_to_string(Image.open('test.png'))) # print nothing here.

1 个答案:

答案 0 :(得分:0)

您可以使用hsv掩码:

def img_hsv_mask(img):
    hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)           
    lower_hsv = np.array([0, 0, 150])           
    upper_hsv = np.array([255, 20, 255])         
    mask = cv2.inRange(hsv, lower_hsv, upper_hsv) 
    cv2.imshow("mask", mask)
    cv2.waitKey (0)

按如下所示放置蒙版图像:

enter image description here

现在您可以将OCR与蒙版图像一起使用了

code = pytesseract.image_to_string(mask, lang='eng')
print(code)
>>~ Do itnow