Python 使用 OpenCV 和 Tesseract OCR 识别图像中的文字
import cv2 import pytesseract
安装tesseract-OCR,并配置路径
pytesseract.pytesseract.tesseract_cmd = r'D:\tesseract-ocr\tesseract.exe'
读取图像
img = cv2.imread('C:/Users/jian.gao/Desktop/8eaec849-326d-4e1e-a61a-e9f6a73c3ea2.jpg')
转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
二值化处理
thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]
腐蚀操作,去除噪声
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3)) erode = cv2.erode(thresh, kernel, iterations=1)
进行开运算,去除噪声和粘连部分
opening_kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5)) opening = cv2.morphologyEx(erode, cv2.MORPH_OPEN, opening_kernel)
识别图像中的文字
text = pytesseract.image_to_string(opening, lang='chi_sim', config='--psm 6')
print(text)
显示图像
cv2.imshow('image', img)
cv2.imshow('gray', gray)
cv2.imshow('thresh', thresh)
cv2.imshow('erode', erode)
cv2.imshow('opening', opening)
cv2.waitKey(0)
cv2.destroyAllWindows()
原文地址: https://www.cveoy.top/t/topic/mwWy 著作权归作者所有。请勿转载和采集!