本周进度
整体思路
思路发生了变化。之前是采用利用python和pyqt实现前端界面,java以及tika,tesseract等jar包完成后端逻辑,再打包成jar包导入qt的想法;现在认为将jar包导入可以说是多此一举,浪费空间且不便调试,其实可以直接用python解决问题。
项目成果
现在可以选取文件,提取文档和图片中的文字。
提取算法:
import docx
from docx import Document
from PIL import Image
import pytesseract
def for_docx(in_path, out_path):
f = open(out_path, 'w', encoding='utf-8')
document = Document(in_path)
# 段落
for paragraph in document.paragraphs:
f.write(paragraph.text)
# 表格
tables = document.tables # 获取文件中的表格集
table = tables[0] # 获取文件中的第一个表格
for i in range(0, len(table.rows)): # 从表格第一行开始循环读取表格数据
result = f'{(table.cell(i, 0).text):<5}' + "" + f'{(table.cell(i, 1).text):<5}' + "" + f'{(table.cell(i, 2).text):<5}'
# cell(i,0)表示第(i+1)行第1列数据,以此类推
f.write(result)
f.close()
def for_picture(in_path,out_path):
f = open(out_path, 'w', encoding='utf-8')
result = pytesseract.image_to_string(Image.open(in_path))
f.write(result)
f.close()
通过库函数实现。
图片提取的准确度不足。
下周目标
1、处理一些临界问题,增加程序健壮性。
2、(主要目标)提高对图片的识别准确度。
目前的思路有:图像二值化处理和样本训练。