商务服务
记一次智能搜题软件的开发
2024-11-07 19:45

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

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

API接收的参数较为简单:

字段名 类型 必填 备注 q 要识别的图片,需要base64编码 必须是base64编码(baes64前边不要加上data:image/png;base64) appKey 应用ID 可在应用管理查看 salt UUID uuid curtime 当前UTC时间戳(秒) TimeStamp sign 签名 sha256(应用ID+input+salt+curtime+应用密钥);input的生成规则见表下的备注 sha256(应用ID+input+salt+curtime+应用密钥) signType 签名类型 v2 type 上传类型, 仅支持base64上传,请填写固定值1 1 searchType 搜索类型,img为图片搜题,text为文本搜题 false img

签名生成方法如下:
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搜题方法的封装。

    界面部分:

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

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

    QuestionClass.py

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

    首先定义一个类Question:

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

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

    OcrQuestion.py

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

    API响应结果示例
        以上就是本篇文章【记一次智能搜题软件的开发】的全部内容了,欢迎阅览 ! 文章地址:http://zleialh.tongchengxian.cn/news/124.html 
         资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 通成线资讯移动站 http://zleialh.tongchengxian.cn/mobile/ , 查看更多   
最新新闻
【AI系统的出现】数据、算法与计算力的完美交响
在数字化时代的洪流中,人工智能(AI)如同破茧的凤凰,展翅高飞。这篇文章深入剖析了AI系统崛起的三大支柱:海量数据的积累、计
做小说推文发布哪个平台好?小说推文视频什么类型比较好做
小说推广是不挑平台的,抖音,小红书,快手,视频号都可以,这是个真正可以做到一鱼多吃的项目。brbr抖音是转化率最好的平台,快
《抖音短视频》活跃状态查看方法
最近很多小伙伴发现自己的抖音中多了一个“活跃状态”的标识,那么这个活跃状态是什么意思?在哪里可以看到呢?下面小编为大家带
复旦中文文本分类语料库:助力中文NLP研究的利器
复旦中文文本分类语料库是由复旦大学计算机科学与技术系的李荣陆老师精心打造的一项宝贵资源。该语料库旨在为中文自然语言处理&#
为什么你的设计总是同质化?
解决设计问题,是我们每个设计师必须要具备的能力,但是又不能为了不一样而不一样,所以以自身品牌出发来做差异化,才是正确的方
“不买年”成新年关键词:不是不买,而是高质量“买买买”
2022年第一天,在北京工作的王芳语在朋友圈留下这样一句签名——“2022年,挑战‘不买年’”。新年伊始,很多年轻人纷纷在社交平
怎么查询百度搜索关键词的用户数量呢【怎么查百度关键词检索量】
在当今数字化的时代,了解市场行情和用户需求对于企业和个人都至关重要,查询百度搜索关键词的用户数量是一种常用的方法,它可以
今日沪深300股指期货行情价格分析[有帮助]
注:点此进入主页查看全部最新行情分析。10月15日沪深300股指期货策略:中性。短期财政刺激预期落空,股指转入震荡回落,建议观
本企业新闻