本程序测试识别图片的文字
import cv2
from paddleocr import PaddleOCR, draw_ocr
from matplotlib import pyplot as plt
加载PaddleOCR模型,这里你可以根据需要选择语言和模型路径
ocr = PaddleOCR(use_gpu=False, lang='ch') # 假设我们识别中文字符,并且不使用GPU
读取图像
img = cv2.imread("car.jpg")
缩放图像(如果需要)
img = cv2.resize(img, (int(img.shape[1] * 0.5), int(img.shape[0] * 0.5)))
将BGR图像转换为灰度图像(如果需要OCR前的预处理,但PaddleOCR通常处理BGR图像)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
显示灰度图像(通常这不是OCR的必要步骤,但在这里只是为了展示)
fig = plt.figure(figsize=(6, 6))
plt.imshow(gray, cmap='gray'), plt.axis('off'), plt.title("Grayscale Image")
plt.show()
使用PaddleOCR进行OCR
result = ocr.ocr(img, use_gpu=False)
在原图上绘制OCR结果
from PIL import Image
image = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) # 转换为RGB格式,因为PIL使用RGB
boxes = [line[0] for line in result]
txts = [line[1][0] for line in result]
scores = [line[1][1] for line in result]
im_show = draw_ocr(image, boxes, txts, scores, font_path='./doc/fonts/simfang.ttf')
im_show = np.array(im_show) # 将PIL图像转换为numpy数组
显示带有OCR结果的图像
plt.figure(figsize=(12, 6))
plt.imshow(cv2.cvtColor(im_show, cv2.COLOR_BGR2RGB)) # 再次转换为RGB以在matplotlib中显示
plt.axis('off')
plt.title("OCR Result")
plt.show()