使用到的库文件
pytesseract
PIL
translate
代码
import pytesseract
from PIL import Image
from translate import Translator
def countword(s):
return s.split(" ")
# 将长段落分句
def longarticle_divide(s):
return s.split(".")
print("欢迎使用本程序")
print("本程序提供图文识别、英译中服务")
print("是否需要图文识别(Y/N)")
choice1 = input()
if choice1 == "Y":
# 读取图片
im = Image.open('1.png')
# 识别文字
string = pytesseract.image_to_string(im)
# 写入文件
file = open('read.txt', 'w')
file.write(string)
file.close()
print("识别成功,已写入read.txt")
# 翻译
print("请选择是否需要翻译(Y/N)")
choice = input()
if choice == 'Y':
print("请选择翻译内容")
print("1.图文识别结果\n2.文档识别")
choice2 = input()
if choice2 == '1':
num = countword(string)
if len(num) < 500:
translator = Translator(to_lang="zh")
translation = translator.translate(string)
print(translation)
file = open('read.txt', 'w')
file.writelines(translation)
file.close()
else:
print("文章长度超过限制,请使用文档识别")
else:
print("请输入文档名称")
filename = input()
file = open(filename, 'r')
word = file.read()
s = longarticle_divide(word)
for i in s:
translator = Translator(to_lang="zh")
translation = translator.translate(i)
print(translation+'\n')
else:
print("感谢使用")
else:
print("请选择是否需要翻译(Y/N)")
choice3 = input()
if choice3 == 'Y':
print("请输入文档名称")
filename = input()
file = open(filename, 'r')
word = file.read()
s = longarticle_divide(word)
for i in s:
translator = Translator(to_lang="zh")
translation = translator.translate(i)
print(translation+'\n')
else:
print("感谢使用")