Package: leqi-algorithm-mic-sdk
安装pip install leqi-algorithm-mic-sdk算法模块algorithm_mic_sdk.error异常模块algorithm_mic_sdk.error.AbnormalAlgorithmPlatformAPI网关相关异常algorithm_mic_sdk.auth.AuthInfo账号信息,需要初始化后作为参数给其他需要验证的模块调用algorithm_mic_sdk.base基础类库模块algorithm_mic_sdk.base.Base主要是对图片算法的处理,可以上传/下载图片, 获取算法结果等,详细使用见模块说明algorithm_mic_sdk.base.AlgoBase对Base模块的封装,主要是有同步/异步发布算法的功能algorithm_mic_sdk.algorithms.topic.Topic错题本算法algorithm_mic_sdk.algorithms.trace_elimination.TraceElimination手写痕迹消除算法algorithm_mic_sdk.algorithms.speech_recognition_chinese.SpeechRecognitionChinese中文语音识别算法algorithm_mic_sdk.algorithms.speech_recognition_english.SpeechRecognitionEnglish英文语音识别算法algorithm_mic_sdk.algorithms.fluorescent_pen_recognition.FluorescentPenRecognition荧光笔识别算法algorithm_mic_sdk.algorithms.region_marquee.RegionMarquee错题本框题算法algorithm_mic_sdk.algorithms.photo_to_cartoon.PhotoToCartoon人像转卡通头像算法algorithm_mic_sdk.algorithms.skin_recognition.SkinRecognition皮肤病检测算法algorithm_mic_sdk.algorithms.watermark_removal.WatermarkRemoval去水印算法algorithm_mic_sdk.algorithms.ocr_rec.OCRRec图片文本检测算法algorithm_mic_sdk.algorithms.paper_rotation.PaperRotation错题本图像旋转算法algorithm_mic_sdk.algorithms.speech_synthesis.SpeechSynthesis语音合成算法algorithm_mic_sdk.algorithms.topic_loc.TopicLoc错题本题干检测定位算法algorithm_mic_sdk.algorithms.teacher_qualification_check.TeacherQualificationCheck教师资格证编号识别算法algorithm_mic_sdk.ws.speech_recognition_chinese.SpeechRecognitionChinese中文识别算法(socket 版本)algorithm_mic_sdk.ws.speech_recognition_english.SpeechRecognitionEnglish英文识别算法(socket 版本)使用示例1 (http api):错题本算法importtimefromalgorithm_mic_sdkimporterrorfromalgorithm_mic_sdk.algorithms.topicimportTopicfromalgorithm_mic_sdk.authimportAuthInfofromalgorithm_mic_sdk.baseimportBasefromalgorithm_mic_sdk.toolsimportFileInfoauth_info=AuthInfo(host='http://gateway.algo.leqi.us',user_name='your name',password='your password')# 需要处理的文件filename='1.jpg'# 构建FileInfo对象# 对于需要上传文件的地方,都可以通过直接初始化FileInfo对象来实现文件的自动上传.# FileInfo内支持从二进制/文件url/OSS存储名(leqi-algo下)/可执行方法中获得文件信息# 具体使用方法见FileInfo类说明file_info=FileInfo.for_file_bytes(open(filename,'rb').read())# corners参数corners=[[0,0],[2160,0],[0,3840],[2160,3840]]# 创建算法对象,各个算法的各个参数具体含义可见文档topic=Topic(auth_info=auth_info,file=file_info,corners=corners)# 同步请求算法(会阻塞至算法处理完成后返回)resp=topic.synchronous_request()print('同步请求算法完成',resp.json,'\n')# 异步发布任务(需要轮询获取任务处理结果)resp=topic.asynchronous_request()print('异步发布任务得到任务ID为',resp.task_id,'\n')# 根据任务ID获取处理结果try:# 使用Base类来操作任务结果base=Base(auth_info=auth_info)whileTrue:resp=base.get_results(resp.task_id)ifresp.gateway_code==1001:# 算法处理失败print('算法处理失败',resp.error)elifresp.gateway_code==1002:# 任务仍然在处理中,休眠1s后继续请求time.sleep(1)continueelifresp.gateway_code!=1000:# 其他状态码print('算法未知状态码 ',resp.gateway_code,resp.gateway_error)break# resp.gateway_code==1000时,则表明算法处理完成,但不代表算法处理成功# 判断算法服务器状态码,若该图片无法处理之类的提示可在此判断ifresp.code!=200:print('算法制作异常 code:',resp.code,'message',resp.message)break# 从返回值中拿到结果图,各个算法的返回参数可见文档result_im_oss_name=resp.result['result_im_oss_name']# 生成图片预览的url(可以视情况加水印,此处的url由于是给外网访问的,所以extranet参数要为True)url=base.get_file_url(result_im_oss_name,extranet=True)print('url',url)# 下载文件到本地img_bytes=base.get_file(oss_name=result_im_oss_name)withopen('beauty_file.png','wb')asf:f.write(img_bytes)print('文件下载成功 ./beauty_file.png')breakexcepterror.AbnormalAlgorithmPlatformase:# 算法平台对除未制作完成的异常外进行全异常捕捉print('算法平台异常 状态码:',e.code,'状态提示',e.error)exceptExceptionase:print('未知异常 ',e)使用示例2 (websocket api):中文语音识别算法fromalgorithm_mic_sdk.authimportAuthInfofromalgorithm_mic_sdk.ws.speech_recognition_chineseimportSpeechRecognitionChinesehost='ws://gateway.algo.leqi.us:8005'# 算法host地址,协议头为wsuser_name='your name'password='password'filename='1.pcm'# 音频文件名,这里采用文件的方式来模拟读取流数据,在实际场景中,这个数据可能是由客户端与服务器的socket连接句柄中读取audio_format='PCM'# 音频格式defcallback(ws,data):# 回调函数 入参两个参数,一个是当前连接句柄,一个是识别的结果,这里只是对识别结果做简单输出print(data)# 创建一个获取流数据的迭代器,在实际场景中,这个数据可能是由客户端与服务器的socket连接句柄中读取defsend_request_body(stream_filename):data=open(stream_filename,'rb').read()whiledata:d,data=data[:320],data[320:]yieldd# 初始化权限信息类auth_info=AuthInfo(host=host,user_name=user_name,password=password)# 创建一个识别句柄speech_recognition_chinese=SpeechRecognitionChinese(auth_info,audio_format,send_request_body(filename),callback)# 运行请求算法,执行此步骤将会发生阻塞speech_recognition_chinese.run()