海洋专业做网站,论坛网站建设方案,镇江丹徒发布,wordpress 中文 伪静态一、python图片转文字
1、引言
pytesseract是基于Python的OCR工具#xff0c; 底层使用的是Google的Tesseract-OCR 引擎#xff0c;支持识别图片中的文字#xff0c;支持jpeg, png, gif, bmp, tiff等图片格式
2、环境配置
python3.6PIL库安装Google Tesseract OCR
3、安…一、python图片转文字
1、引言
pytesseract是基于Python的OCR工具 底层使用的是Google的Tesseract-OCR 引擎支持识别图片中的文字支持jpeg, png, gif, bmp, tiff等图片格式
2、环境配置
python3.6PIL库安装Google Tesseract OCR
3、安装pytesseract
使用pip 或 pip3
pip install pytesseract0.3.10
pip install pillow10.4.04、安装Google Tesseract OCR
Tesseract是一个开源文本识别 (OCR)引擎是目前公认最优秀、最精确的开源OCR系统用于识别图片中的文字并将其转换为可编辑的文本
Tesseract OCR github地址https://github.com/tesseract-ocr/tesseractWindows Tesseract下载地址https://digi.bib.uni-mannheim.de/tesseract/Mac和Linux安装方法参考https://tesseract-ocr.github.io/tessdoc/Installation.html安装完成后
添加PATH环境变量可方便的执行tesseract命令
D:\Development\Tesseract-OCR ## 自己的安装路径添加TESSDATA_PREFIX变量名将语言字库文件夹添加到变量中
D:\Development\Tesseract-OCR\tessdata ## 自己的安装路径3、使用pytesseract转换图片
import pytesseract
from PIL import Image
from PIL import ImageEnhanceret {code: 100, msg: None, data: None}
class TextExtraction(APIView):# 图片转文字def get(self, request):# 加载图像image Image.open(\media\image\\2.jpg)# 增强图片对比度enhancer ImageEnhance.Contrast(image)img_contrast enhancer.enhance(2.0)text pytesseract.image_to_string(img_contrast, langchi_sim)print(text)ret[data] textreturn Response(ret)if __name__ __main__:te TextExtraction()te.as_view()二、语音转文字
使用百度语音识别Aip
1、注册登录百度AI开放平台
登录百度AI开放平台在控制台—人工智能–语音技术 获得APPID、API KEY、SECRET KEY
2、安装百度Aip
pip install Baidu-Aip4.16.133、使用百度Aip转语音
from aip import AipSpeechret {code: 100, msg: None, data: None}
class SpeechRecognition(APIView):# 语音转文字 使用百度语音识别def post(self, request):# 百度语音识别try:# 设置 APPID、API Key 和 Secret KeyAPP_ID API_KEY SECRET_KEY # 初始化 AipSpeech 对象client AipSpeech(APP_ID, API_KEY, SECRET_KEY)# 设置音频文件的位置audio_file \media\\audio\\16k.wav# 读取音频文件with open(audio_file, rb) as fp:audio_data fp.read()# 识别音频文件res client.asr(audio_data, wav, 16000, {dev_pid: 1536,})print(res)if res[err_no] 0:print(res[result][0])ret[data] res[result][0]else:ret[code] 101ret[msg] res[err_msg]except Exception as e:ret[code] 102ret[msg] ereturn Response(ret)三、speech语音播放
在python中我们可以使用speech模块让计算机进行语音输出1、安装speech
pip install speech2、因为speech模块最早是在python 2.x中开发的因此在python 3.x中并不能够直接使用我们需要打开它安装后的原始文件并进行以下调整即可。
speech.py打开后进行定位错误位置并更改每个人的文件位置可能有差异。因为虚拟环境的创建一般不同Pycharm中一般是相同的可以自行查找。接着我们按部就班地更改以下三个位置地源文件。原始文件第157行print prompt应该改为print(prompt)。
原始文件第59行thread应该改为_thread。
拖动文件到最后将263行thread应该为_thread3、语音输出
import speech
def speach():# 文字转语音speech.say(从前有一座美丽的大森林森林里住着许多小动物它们每天过着无忧无虑的生活。)speech.say(Dont ask me .I have no idea why bug exist again)四、文字转音频并保存输出
Pyttsx是一个支持Mac OS X、Windows和Linux上常见的文本到语音引擎的Python包。
1、安装pyttsx3
pip install pyttsx32、保存音频语音输出
import pyttsx3def pyttsx3(text, language, rate, volume, filename, sayit0):# 参数说明: 六个重要参数,阅读的文字,语言(0-英文/1-中文),语速,音量(0-1),保存的文件名(以.mp3收尾),是否发言(0否1是) engine pyttsx3.init() # 初始化语音引擎engine.setProperty(rate, rate) # 设置语速# 速度调试结果:50戏剧化的慢,200正常,350用心听小说,500敷衍了事engine.setProperty(volume, volume) # 设置音量voices engine.getProperty(voices) # 获取当前语音的详细信息if int(language) 0:engine.setProperty(voice, voices[0].id) # 设置第一个语音合成器 #改变索引改变声音。0中文,1英文(只有这两个选择)elif int(language) 1:engine.setProperty(voice, voices[1].id)if int(sayit) 1:engine.say(text) # pyttsx3-将结果念出来elif int(sayit) 0:passengine.save_to_file(text, filename) # 保存音频文件print(filename, 保存成功)engine.runAndWait() # pyttsx3结束语句(必须加)engine.stop() # pyttsx3结束语句(必须加)if __name__ __main__:text 从前有一座美丽的大森林森林里住着许多小动物它们每天过着无忧无虑的生活。有一天森林里来了几个伐木工人他们拿着斧头和锯子把一棵棵树给砍倒了。几天下来裸露的土地不断扩大森林里的树木不断减少。大象看了之后非常生气他和几个好朋友决定把这些伐木工人抓起来送到动物法庭上。第二天大象他们就把伐木工人给抓了起来送到了动物法庭上。许多旁观者都纷纷议论起来猴法官说“安静安静大象你们把这些人抓来是怎么回事?”大象说“这些人乱砍树木破坏我们的家园。大象的好朋友小猴说“对呀他们把树给砍光了我们就不能在树上荡秋千了。”小鸟也说”猴法官要是没有树木我们就不能筑巢了。长颈鹿说“要是没有树木我们就吃不到树叶了我们会饿死的。”听到这里猴法官对伐木工人说“你们乱砍树木是不对的没有了树木我们动物就无法生存同样也会给你们人类带来灾难的。”听了这些话伐木工人觉得很惭愧知道自己错了他们保证以后不再乱砍树木破坏森林了还在森林入口立了一块告示牌上面写着“保护森林人人有责。”从此以后人们不再破坏森林动物和人类和平相处大家都过着幸福、快乐的生活。pyttsx3_debug(texttext, language0, rate200, volume0.9, filename\media\\audio\ptttsx3中文测试.mp3, sayit1)