python读取图片上的文字,并显示其坐标点
时间: 2024-05-15 13:16:01 浏览: 167
python实现读取并显示图片的两种方法
要读取图片上的文字,可以使用OCR(光学字符识别)技术。Python中有很多OCR库,比如pytesseract、ocropus等。这些库可以识别图片中的文字,并将其转换为文本。
要显示文字的坐标点,可以使用OpenCV库。使用OpenCV库读取图片,然后在图片上绘制矩形框来表示文字的位置。
以下是一个使用pytesseract和OpenCV的例子,读取图片中的文字并显示其坐标点:
```
import cv2
import pytesseract
# 读取图片
img = cv2.imread('image.png')
# 将图片转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 对灰度图像进行二值化处理
thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]
# 使用pytesseract识别文字
text = pytesseract.image_to_string(thresh, lang='eng', config='--psm 6')
# 获取文字的坐标
boxes = pytesseract.image_to_boxes(thresh)
# 在图片上绘制矩形框表示文字位置
for box in boxes.splitlines():
box = box.split(' ')
x, y, w, h = int(box[1]), int(box[2]), int(box[3]), int(box[4])
cv2.rectangle(img, (x, img.shape[0] - y), (w, img.shape[0] - h), (0, 0, 255), 2)
# 显示图片和识别结果
cv2.imshow('image', img)
print('识别结果:', text)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这个例子首先读取图片,然后将其转换为灰度图像,并进行二值化处理。然后使用pytesseract识别图片中的文字,并获取文字的坐标。最后,使用OpenCV在图片上绘制矩形框表示文字的位置,并显示图片和识别结果。
阅读全文