mac环境安装tesseract
1. 利用brew 安装tesseract
brew install tesseract
安装完成后执行tesseract -v
![](https://img.haomeiwen.com/i8830165/781097581feb6894.png)
2. 下载语言包,这了我们下载中文和英文
https://raw.githubusercontent.com/tesseract-ocr/tessdata/master/eng.traineddata
https://raw.githubusercontent.com/tesseract-ocr/tessdata/master/chi_sim.traineddata
https://raw.githubusercontent.com/tesseract-ocr/tessdata/master/chi_tra.traineddata
下载完成后将traineddata 文件移动到/usr/local/Cellar/tesseract/4.1.1/share/tessdata
文件夹下
![](https://img.haomeiwen.com/i8830165/db470aded58bb573.png)
tesseract --list-langs
命令查看
3. 编写代码
import pytesseract
import requests as req
import cv2
import numpy as np
from PIL import Image, ImageEnhance
from io import BytesIO
from pytesseract import Output
resize_num = 2
def parse_image_to_txt(image_url):
response = req.get(image_url)
img = Image.open(BytesIO(response.content))
# 灰度转二值化
img = img.convert('L')
# 图像放大
img = img.resize((img.width * int(resize_num), img.height * int(resize_num)))
# 对比度增强
sharpness = ImageEnhance.Contrast(img)
img = sharpness.enhance(2)
out_content = pytesseract.image_to_string(img, lang='chi_sim', config='--oem 3 --psm 6 --dpi 300')
# 红圈自动标记处电话位置
# img = cv2.cvtColor(np.asarray(img), cv2.COLOR_BGR2RGB)
# d = pytesseract.image_to_data(img, lang='chi_sim', config='--oem 3 --psm 6 --dpi 300')
#
# data = {}
# for i in range(0, len(d["text"])):
# if 0 < len(d['text'][i]):
# (x, y, w, h) = (d['left'][i], d['top'][i], d['width'][i], d['height'][i])
# data[d['text'][i]] = ([d['left'][i], d['top'][i], d['width'][i], d['height'][i]])
# cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)
# for x, b in enumerate(boxes.splitlines()):
# if x != 0:
# b = b.split()
# if len(b) == 12:
# x, y, w, h = int(b[6]), int(b[7]), int(b[8]), int(b[9])
# cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 1)
# print("%s 位置 %d %d", b, x, y)
# cv2.imshow("OpenCV", img)
# cv2.waitKey()
return out_content
if __name__ == '__main__':
print(parse_image_to_txt(
"图片地址"))
-psm 說明
0:定向脚本监测(OSD)
1: 使用OSD自动分页
2 :自动分页,但是不使用OSD或OCR
3 :全自动分页,但是没有使用OSD(默认)
4 :假设可变大小的一个文本列。
5 :假设垂直对齐文本的单个统一块。
6 :假设一个统一的文本块。
7 :將圖片視為一行文字句子。
8 :將圖片視為一個“字母”。
9 :将图像视为圆中的单个词。
10 :將圖片視為一個“單字”。```
补充简单说下Centos环境下的故事
- 安装pip
curl https://bootstrap.pypa.io/get-pip.py | python -
yum install tesseract
安装tesseract- 语言包放到
/usr/share/tesseract
路径下
网友评论