当前位置: 首页 > wzjs >正文

自贡网站设计请拿笔记记下新域名

自贡网站设计,请拿笔记记下新域名,大兴企业网站建设,河南郑州旅游景点目录 0 环境准备 1 安装tesseract-ocr引擎 1.1 下载安装包 1.2 安装tesseract-ocr 1.2.1 选择语言 1.2.2 开始安装 1.2.3 同意安装协议 1.2.4 选择安装用户 1.2.5 选择安装组件 1.2.6 选择安装路径 1.2.7 系统安装tesseract-ocr 1.2.8 完成安装 1.2.9 结束安装 1…

目录

0 环境准备

1 安装tesseract-ocr引擎

1.1 下载安装包

1.2 安装tesseract-ocr

1.2.1 选择语言

1.2.2 开始安装

1.2.3 同意安装协议

1.2.4 选择安装用户

1.2.5 选择安装组件

1.2.6 选择安装路径

1.2.7 系统安装tesseract-ocr

1.2.8 完成安装

1.2.9 结束安装

1.3 设置环境变量

1.4 验证是否安装成功

1.5 安装简体中文语言包

1.5.1 下载简体中文语言包

1.5.2 放置简体中文语言包

1.5.3 查看简体中文语言包是否安装成功

2 创建项目python环境

2.1 conda创建python环境

2.2 在pycharm中创建项目

2.3 激活python环境

2.4 安装项目依赖包

3 程序逻辑实现

3.1 导入依赖包

3.2 定义PDFOCR类

3.3 定义初始化方法

3.4 定义pdf转换成照片方法

3.5 定义OCR识别照片方法

3.6 定义清楚缓存资源方法

3.7 实现main方法

4 测试验证

5 完整代码

附录

附录一:项目结构

附录二: 可能存在的问题

问题一:找不到tesseract路径


0 环境准备

  • 已安装miniconda环境
  • 具备科学上网条件

1 安装tesseract-ocr引擎

        Python读取扫描版PDF文件的详细解决方案,结合OCR技术和PyMuPDF库实现,代码需兼容中英文识别。OCR技术需要安装tesseract-ocr引擎,本章节将介绍在windows环境下如何安装tesseract-ocr引擎。

1.1 下载安装包

        windows环境访问以下地址下载tesseract-ocr安装包,需要科学上网。

windows下载地址:Home · UB-Mannheim/tesseract Wiki · GitHub

1.2 安装tesseract-ocr

1.2.1 选择语言

        选择英语,点击ok。

1.2.2 开始安装

        点击next开始安装。

1.2.3 同意安装协议

        点击I Agree。

1.2.4 选择安装用户

        选择Install for anyone using this compoter。点击next。

1.2.5 选择安装组件

        这里直接点击next

1.2.6 选择安装路径

        注意选择不要带有空格、中文、特殊字符的安装路径。防止使用过程出现莫名其妙的问题。安装路径选择完成后点击next。

1.2.7 系统安装tesseract-ocr

        这里直接点击install。

1.2.8 完成安装

      这里直接点击next。

1.2.9 结束安装

        这里直接点击finish。

1.3 设置环境变量

        在系统环境变量Path中添加tesseract-ocr目录

1.4 验证是否安装成功

        在命令行中输入tesseract -v 查看是否能正常看到tesseract的版本信息,如下图

tesseract -v

1.5 安装简体中文语言包

        Tesseract 默认不支持中文,若要识别中文,需要下载相应的语言包。

1.5.1 下载简体中文语言包

可以从以下地址下载简体中文语言包:

        官网下载:Traineddata Files for Version 4.00 + | tessdoc ,找到 Chinese - Simplified 对应的语言包下载。需要科学上网。

1.5.2 放置简体中文语言包

        将下载的chi_sim.traineddata文件放置到Tesseract-OCR的数据目录,本机是D:\setup\Tesseract-OCR\tessdata。请修改成自己的安装地址。

1.5.3 查看简体中文语言包是否安装成功

        输入查询支持语言命令,可以看到安装的chi_sim语言,如下图:

tesseract --list-langs

2 创建项目python环境

2.1 conda创建python环境

conda create -n pdf_ocr_demo python=3.10

2.2 在pycharm中创建项目

  1. 解释器类型:选择自定义环境
  2. 环境:选择现有
  3. 类型:选择conda
  4. 环境:选择上一步创建的pdf_ocr_demo环境

2.3 激活python环境

conda activate pdf_ocr_demo

2.4 安装项目依赖包

pip install PyMuPDF pytesseract pillow

3 程序逻辑实现

3.1 导入依赖包

import osimport fitz
import pytesseractfrom PIL import Image

3.2 定义PDFOCR类

class PDFOCR:

3.3 定义初始化方法

    def __init__(self, file_path, output_txt):self.file_path = file_pathself.output_txt = output_txtself.temp_img_dir = 'temp_imgs'os.makedirs(self.temp_img_dir, exist_ok=True)

3.4 定义pdf转换成照片方法

    def _pdf_to_images(self, zoom=3):"""将PDF每页转换为高清图片"""doc = fitz.open(self.file_path)for page_num in range(len(doc)):page = doc.load_page(page_num)# 设置缩放参数提升分辨率mat = fitz.Matrix(zoom, zoom)pix = page.get_pixmap(matrix=mat, alpha=False)p_index = page_num + 1p_index = str(p_index).zfill(5)img_path = os.path.join(self.temp_img_dir, f'page_{p_index}.png')pix.save(img_path)print(f"已完成 {img_path} 存储")doc.close()

3.5 定义OCR识别照片方法

    def _ocr_images(self):"""对转换后的图片进行OCR识别"""with open(self.output_txt, 'w', encoding='utf-8') as f:for img_file in sorted(os.listdir(self.temp_img_dir)):img_path = os.path.join(self.temp_img_dir, img_file)# 图像预处理img = Image.open(img_path).convert('L') # 转为灰度图# OCR识别text = pytesseract.image_to_string(img, lang='chi_sim+eng') # 简体中文f.write(text + '\n')print(f"已完成 {img_file} 识别")

3.6 定义清楚缓存资源方法

    def _cleanup(self):"""清理临时文件"""for img_file in os.listdir(self.temp_img_dir):os.remove(os.path.join(self.temp_img_dir, img_file))os.rmdir(self.temp_img_dir)print("清理完成")

3.7 实现main方法

if __name__ == '__main__':processor = PDFOCR('./in_pdf/617336.pdf', './out/output.txt')try:processor._pdf_to_images(zoom=3)processor._ocr_images()finally:processor._cleanup()

4 测试验证

        找一个扫描版PDF文件,放入in_pdf文件夹,修改main方法中pdf文件名,运行pdf_ocr_reader.py,可以看到执行结果如下图:

5 完整代码

import osimport fitz
import pytesseractfrom PIL import Imageclass PDFOCR:def __init__(self, file_path, output_txt):self.file_path = file_pathself.output_txt = output_txtself.temp_img_dir = 'temp_imgs'os.makedirs(self.temp_img_dir, exist_ok=True)def _pdf_to_images(self, zoom=3):"""将PDF每页转换为高清图片"""doc = fitz.open(self.file_path)for page_num in range(len(doc)):page = doc.load_page(page_num)# 设置缩放参数提升分辨率mat = fitz.Matrix(zoom, zoom)pix = page.get_pixmap(matrix=mat, alpha=False)p_index = page_num + 1p_index = str(p_index).zfill(5)img_path = os.path.join(self.temp_img_dir, f'page_{p_index}.png')pix.save(img_path)print(f"已完成 {img_path} 存储")doc.close()def _ocr_images(self):"""对转换后的图片进行OCR识别"""with open(self.output_txt, 'w', encoding='utf-8') as f:for img_file in sorted(os.listdir(self.temp_img_dir)):img_path = os.path.join(self.temp_img_dir, img_file)# 图像预处理img = Image.open(img_path).convert('L') # 转为灰度图# OCR识别text = pytesseract.image_to_string(img, lang='chi_sim+eng') # 简体中文f.write(text + '\n')print(f"已完成 {img_file} 识别")def _cleanup(self):"""清理临时文件"""for img_file in os.listdir(self.temp_img_dir):os.remove(os.path.join(self.temp_img_dir, img_file))os.rmdir(self.temp_img_dir)print("清理完成")if __name__ == '__main__':processor = PDFOCR('./in_pdf/617336.pdf', './out/output.txt')try:processor._pdf_to_images(zoom=3)processor._ocr_images()finally:processor._cleanup()

附录

附录一:项目结构

附录二: 可能存在的问题

问题一:找不到tesseract路径

pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your PATH. See README file for more information.

解决办法:

        请确认环境变量Path中是否配置tesseract的路径,参考章节1.3。如果确认已配置,则重启pycharm,重新运行程序。


文章转载自:

http://Z2LxPzIS.crxdn.cn
http://74AFnwMD.crxdn.cn
http://itn4yTXq.crxdn.cn
http://Q5OVUCUn.crxdn.cn
http://HKEfjxno.crxdn.cn
http://2gl5ur8f.crxdn.cn
http://caVVtSGc.crxdn.cn
http://klqHngaa.crxdn.cn
http://SjPuXMck.crxdn.cn
http://gRF5I4e5.crxdn.cn
http://bErwVsjX.crxdn.cn
http://YRCR2NlY.crxdn.cn
http://PTtyQYcy.crxdn.cn
http://Y6w4embN.crxdn.cn
http://ryPjgs69.crxdn.cn
http://RCEGedZm.crxdn.cn
http://W5VXtcMp.crxdn.cn
http://Glt3DOWO.crxdn.cn
http://V8yeNyWz.crxdn.cn
http://sc2Gr8hI.crxdn.cn
http://fr5DbSqR.crxdn.cn
http://CHS4GLqW.crxdn.cn
http://EEMqNgIZ.crxdn.cn
http://QrEn2Z6T.crxdn.cn
http://zYkDdJDg.crxdn.cn
http://qB0IKbwp.crxdn.cn
http://J16fS6bG.crxdn.cn
http://GDEUsSzY.crxdn.cn
http://z5Wc75Qu.crxdn.cn
http://3khzSse0.crxdn.cn
http://www.dtcms.com/wzjs/704533.html

相关文章:

  • 有限公司网站建设 互成网络地址 四川汕头网站制作流程
  • 安装wordpress建站程序企业电子商务网站
  • intitle 无线网站制作北京网页制作专业服务
  • 音乐网站建设目标营销型网站维护费用
  • 373网站怎么做这样的网站网站的二维码怎么做的
  • 淘宝网站怎么做网站windows10优化大师
  • 怎么注册网站个人半路学网站建设难吗
  • 景德镇市场建设局网站阳西网站建设
  • 行业网站建设分析html网站系统
  • 酒店网站模板下载网站界面设计的分类有哪几种
  • 四川省建设监理协会网站wp_head wordpress
  • 用dw6做网站首页鞍山玉佛苑玉佛图片
  • 企业全屏网站国家有规定必须做可信网站验证
  • WordPress 站点图标链接搜索百度网址网页
  • 分模板网站和定制网站网站内容方向
  • 鞋帽箱包网站建设湖南个人网络营销订制
  • 南山制作网站公司做盗版电影网站后果
  • 生物科技公司网站模板网站建设主页文档
  • 西安志成网站建设公司有名的网页游戏
  • 江苏省品牌专业建设网站上海建筑安全协会网站
  • 手机与pc网站同步模板娄星区建设局网站
  • 酒店网站建设的需求分析报告建设网络道德教育网站不包括
  • 免费做网站的方法做计算机模拟ie题模拟网站打不开
  • 检测站点是否使用wordpress怎么看网站开发用的语言
  • 网站关键词google优化怎么做成都平面设计培训学校有哪些
  • 大型门户网站制作流程网站的关键词在哪里设置
  • 罗湖做网站公司网络运维工程师就业分布
  • 网站icp备案 年检专业的app网站开发
  • 响应式网站建设推荐乐云践新成都网站建设好多科技
  • 网站换域名只做首页301海口网站建设方案优化