最新动态
哈哈,我用Python开发了一个搜题神奇
2025-01-03 01:49

很早之前曾经做过一个图片识别的项目,当时有一项功能是整题识别,即传入数学题的截图,可通过ocr技术识别出图片内容,但当时只限于识别文字,并未作更深一步的处理,现在想来实用性并不强,毕竟大家更需要的是解题思路,而不是让AI读出题干(题干的文字,我都认识,连起来我就不知道怎么下手去做了 = = ,最近刚好有时间,于是尝试来为有娃的朋友做一个搜题神器。

鉴于之前整题识别的开发使用有道智云的良好体验,我再次打开其官方文档,果然找到了拍照搜题服务的开放API,轻车熟路地做了一个简单的批量搜题demo, 下面分享一下开发过程。

调用API接口的准备工作

首先,是需要在有道智云的个人页面上创建实例、创建应用、绑定应用和实例,获取到应用的id和密钥。具体个人注册的过程和应用创建过程详见文章

开发过程详细介绍

下面介绍具体的代码开发过程。

API接收的参数较为简单

字段名类型含义必填备注qtext要识别的图片,需要base64编码True必须是base64编码(baes64前边不要加上data:image/png;base64)appKeytext应用IDTrue可在应用管理查看salttextUUIDTrueuuidcurtimetext当前UTC时间戳(秒)trueTimeStampsigntext签名 sha256(应用ID+input+salt+curtime+应用密钥);input的生成规则见表下的备注Truesha256(应用ID+input+salt+curtime+应用密钥)signTypetext签名类型truev2typetext上传类型, 仅支持base64上传,请填写固定值1True1searchTypetext搜索类型,img为图片搜题,text为文本搜题falseimg

签名生成方法如下
signType=v2
sign=sha256(++++)。
其中,input的计算方式为= + + (当q长度大于20)或 =(当q长度小于等于20)。

需要注意的是,API对题目图片有如下要求

规则描述传输方式HTTPS请求方式POST字符编码统一使用UTF-8编码请求格式表单响应格式JSON图片格式jpg/png/bmp图片大小1MB以下文字长度50个字符以下
Demo开发

这个demo使用python3开发,包括maindow.py,QuestionClass.py,OcrQuestion.py 三个文件,分别为demo的界面、界面逻辑处理和ocr搜题方法的封装。

  1. 界面部分

    UI 部分较简单,主要功能为选择待题目图片、选择批改结果存储路径。其布局代码如下

     

    其中启动按钮btn_sure的绑定事件search_question_files()来根据题目照片搜题,并在完成后打开结果存储路径:

     
  2. QuestionClass.py

    这里主要配合UI的逻辑,调用搜题方法。

    首先定义一个类Question:

     

    start_ocr()方法调用connect()方法依次搜题并保存结果。

     

    从OcrQuestion.py的connect方法获取的结果是json格式,save_result_format()方法,解析从接口取得的接口,格式整理,保存结果到html

     
  3. OcrQuestion.py

    OcrQuestion.py 中封装请求ocr搜题API的方法,其中最主要的方法是connect()

     
    API响应结果示例
     

    响应结果是以json形式输出,包含字段如下表所示

字段含义errorCode识别结果错误码,一定存在。 详细信息可参见 错误代码列表data数据-text图片题目OCR结果-questions相关题目–id答案–content题目内容–answer答案–analysis解析–knowledge知识点
效果展示
demo操作演示
来看看结果吧

数学题搜索结果展示

总结

有道智云的整体搜索API文档清晰,题目范围极广而且可以自动判断学科,搜索结果可谓“举一反三”,会返回几个可能的相近题目,很具有参考价值,值得推荐!数学解答题会返回相关图片、公式等,用在web项目中效果灰常不错。

    以上就是本篇文章【哈哈,我用Python开发了一个搜题神奇】的全部内容了,欢迎阅览 ! 文章地址:http://ww.kub2b.com/news/19419.html
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 http://ww.kub2b.com/mobile/ , 查看更多   
最新文章
荣耀手机数据恢复教程荣耀手机找回「荣耀手机数据恢复教程」
在使用荣耀手机的过程中,大家难免会遇到不小心删除重要照片的情况。这些照片可能包含了珍贵的回忆,一旦丢失,可能会让人感到非
手机副卡怎么注销手机副卡「手机副卡怎么注销」
随着移动通信技术的不断发展,手机副卡已成为许多家庭或企业用户的常用选择,它为用户提供了更多的便利和灵活性。然而,当不再需
三星s8怎么样值得买吗 64G版苏宁易购4999元s8手机「三星s8怎么样值得买吗 64G版苏宁易购4999元」
  【PConline 导购】当下很多手机都有一流的硬件配置和出色的使用体验,消费者在购机时也会优先考虑这些产品。就拿三星的旗舰
马拉松赛道上的奇特造型,究竟是展示自我还是博眼球,你怎么看?
或许你会发现,每次马拉松比赛都会出现奇特造型的人物。这不,2025象山马拉松也有一些打扮另类的跑者,他们的出现瞬间成为赛道上
售价21万的诺基亚Vertu手机 你肯定没用过!手机超长待机「售价21万的诺基亚Vertu手机 你肯定没用过!」
人人都说知道诺基亚,但你真的通晓诺基亚吗?在诺基亚旗下奢侈手机公司VERTU(威图、纬图)相信很多人都不知道。而Vertu品牌研发
苹果11原相机自拍是反的怎么调回来苹果手机拍照怎么是反的「苹果11原相机自拍是反的怎么调回来」
  苹果iPhone11(系统版本是iOS 14)相机自拍呈现反方向是【平面镜成像】原理,可在自带的相机设置中修改拍摄方向,也可以在自
阿维塔06即将上市,1天后公布价格
06倒计时一天,实际上有必要重新认识一下这个品牌。阿维塔成立于2018年,主要大事件:2021年阿维塔科技全球品牌首发,正式亮相,
最新个人简历电子版 个人简历手机版免费(三篇)手机简历「最新个人简历电子版 个人简历手机版免费(三篇)」
无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。写范文的时候需要注意什么呢?有哪些
360行车记录仪,走过风景,走过你——体验G300 3K版前,我要分享一份记录仪避坑指南!360行车记录仪怎么连接手机「360行车记录仪,走过风景,走过你——体验G300 3K版前,我要分享一份记录仪
***感谢众测君翻牌,感谢品牌方信任***说起,大家应该都不陌生了。这东西除了能让你在说不清的时候说清楚,还有点其他用处。比如