python读取图片上的文字_Python帮你读取图片中的文字(OCR)
此文主要介紹如何通過Python讀取圖片中的文字(光學字符識別,OCR)
第一步 安裝 tesseract
安裝過程中注意勾選中文(chi_sim, chi_tra)。
第二步 python 安裝 pytesseract pip install pytesserac
下面開始詳細介紹如何識別圖片中的(中文)字符。
下圖為案例圖片。
靜夜思
#************************ 導入所需的python庫 **********************#
import cv2
import numpy as np
import pytesseract as pt
import matplotlib.pyplot as plt
#******************* 讀取圖片為灰度格式并查看 ********************#
img = cv2.imread(r'XX\Test.jpg',0)
plt.imshow(img, cmap = 'gray', interpolation = 'bicubic')
plt.show()
#*************** 讀取圖片中的文字并輸出(打印出來)***************#
text = pt.image_to_string(img, lang="chi_sim")
print(type(text),len(text))
print(text)
該部分將輸出:
靜夜思2
我們發現并沒有讀取出圖片中的文字,可能是圖片中的“噪音”降低了文字的可辨識度。
讓我們對圖片進行黑白二值化處理,提高文字的可辨識度。
#************ 將圖像進行黑白二值處理提高文字的可辨識度 ************#
ret,img2 = cv2.threshold(np.array(img), 20, 20, cv2.THRESH_BINARY)
plt.imshow(img2, cmap = 'gray', interpolation = 'bicubic')
plt.xticks([]), plt.yticks([])
plt.show()
text2 = pt.image_to_string(img2, lang="chi_sim")
print(type(text2),len(text2))
print(text2)
該部分將輸出:
靜夜思3
OK,成功讀取出了圖片中的文字,這時文字以字符串形式保存,下面我們把它轉換為列表(list)。
#********** 將讀取后的文字與標點符號以列表(list)形式輸出 **********#
print(text2.split())
該部分將輸出:
['靜', '夜', '思', '李', '白', '床', '前', '明', '月', '光', ',', '疑', '是', '地', '上', '霜', '。', '舉', '頭', '望', '明', '月', ',', '低', '頭', '怪', '故', '鄉', '。']
轉化為列表后進一步分析,如自言語言處理,將變得非常方便。
如果您喜歡這篇文章,希望您能花一秒時間留下您的小手印 Thanks?(・ω・)ノ
總結
以上是生活随笔為你收集整理的python读取图片上的文字_Python帮你读取图片中的文字(OCR)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 禁止套娃是什么意思?禁止套娃梗介绍
- 下一篇: python 图表_用 Python 让