我正在尝试使用cv2和pytesseract从图像中提取红色文本。目前,我能够从图像中提取一些文本,但不能提取所有文本。请帮助我提取文本。
import cv2
import numpy as np
import matplotlib.pyplot as plt
import os
os.chdir('C:/Abhinav/Documents/POC')
img = cv2.imread('images.jpg')
plt.imshow(img)
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
plt.imshow(hsv)
# Range for lower red
lower_red = np.array([0,120,70])
upper_red = np.array([10,255,255])
mask1 = cv2.inRange(hsv, lower_red,upper_red)
# Range for upper range
lower_red = np.array([170,120,70])
upper_red = np.array([180,255,255])
mask2 = cv2.inRange(hsv,lower_red,upper_red)
# Generating the final mask to detect red color
mask1 = mask1+mask2
#identify text with black background
dst1 = cv2.bitwise_and(img, img, mask=mask1)
#identify text with grey scale image
res2 = cv2.bitwise_not(mask1)
plt.imshow(dst1)
plt.imshow(res2)
cv2.imwrite("dst1.jpg", dst1)
cv2.imwrite("res2.jpg", res2)
from PIL import Image
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r"C:\Abhinav\AppData\Local\Tesseract-OCR\tesseract.exe"
text1 = str(((pytesseract.image_to_string(Image.open("res2.jpg"),lang = 'eng'))))
text2 = str(((pytesseract.image_to_string(Image.open("dst1.jpg"),lang = 'eng'))))
print(text1)
print(text2)
目前,我的成绩低于预期 打印(文本1) ¥c作为3M Sahre& 佳能avis
DSSS 我们NGF ©TG nnsn
print(text2) fe Dans&BY ora eS ROC]广告
L垄断| LAS) 嫩
我还想要可口可乐,丰田等字眼。同样,我也无法理解text2的输出(即打印结果所用的语言)。