拍照怎么搜题?(上)

您所在的位置:网站首页 搜题的是什么软件 拍照怎么搜题?(上)

拍照怎么搜题?(上)

2024-06-27 14:57| 来源: 网络整理| 查看: 265

/*  * 写在前面的两句话:  * 1、老王写完上一篇《HTTPS到底是个啥玩意儿?》以后,就想再顺势写几篇技术干货,于是乎有了接下来这一篇文章。  * 2、大家如果想看上一篇,以及未来的n篇,可以关注微信: simplemain  */

前一段时间几个拍照搜题的软件挺流行(比如:小猿搜题、作业帮、学霸君等),手机拍张照片,就能把考题的答案搜出来,完全不用去百度手敲。这可乐坏了莘莘学子们,不过不知道父母是什么感受。

出于程序员那种职业的好奇心,同时也去评估一下做这个事情的难度和成本,老王用了两周的时间做了一个简单的研究并写了一个demo程序,这里分享给大家(注:由于研究时间不长,如有不正确的地方请专家们指正~)

拍照搜题的技术点主要由图像识别和内容搜索组成,将拍照图像中的文字或者图形识别出来,再交给检索系统,对已有的题目进行快速的搜索,找出最相似的题目。由于之前对搜索技术有过一定的了解(毕竟在狼厂干过几年,耳濡目染^_^),所以这次主要聚焦到图像文本的识别上。同时,只是调研性质,所以为了降低难度,我这次只做了英语的识别。

先给大家看看最后的效果。以下是随便用手机拍的一段英文文章:

最后识别出来以后,没有做任何的单词校正工作,效果如下: ======================================= Three months after [he government stopped issulng (&%) or renewing permits for In[ernet cafes because of security (%#) concerns, some cafe owners are having flnanclal (ff%%) concerns of their own. =======================================

后来,我的同事tt和yx可怜我,帮我做了两个相关的单词匹配算法,对单词做校正,使得一些识别的不准的单词得到校正,比如:issulng -> issuing。

好了,开始正题吧~

==== 处理流程 ====

整个过程大体分为两个阶段: 1、图像的处理。就是将我们拍的照片进行清理(有点类似于洗衣服),然后对图像中的字符进行切分,为字符的识别做准备。大概分成几个过程,分别是: a、灰度处理:将彩色图片变成灰度图 b、二值化:将灰度图变成黑白图 c、去噪:消除黑白图上的噪点,让图看起来更干净 d、旋转:对图片进行顺时针和逆时针旋转,找到一个最佳水平位置 e、水平切割:对调整好水平位置的图片进行一行一行的切割 f、垂直切割:对一行一行的图片进行一列一列的切割,产出单个的字符。

2、图像的识别。就是将上面的一个个单独字符的图片进行判别,看他到底是哪个字符。

你是不是感觉有点晕了呢?不错,是我我也晕了,哈哈哈~ 还记得我们的理念嘛?把复杂的问题,简单的讲清楚! 来吧,老王不会干巴巴的讲那些无聊的理论,看看实际怎么处理的吧。

==== 图像的处理 ====

第一步,我们拍照得到原图。

肉眼看,你觉得这个图是不是黑白的? 回答“是”的同学,我负责任的告诉你,你的眼睛欺骗了你。可以用图像处理软件看看每一个像素,他们其实是彩色!!! 彩色有什么问题么?对于人眼来说,当然没有。不过对于我们的程序来说,就是有问题的。他不知道哪个颜色是有效信息。所以,我们接下来的工作,就是对信息进行降维,将RGB(红绿蓝)的256*256*256种色值降维到2种,即:白+黑。这样,我们的程序就能很轻松的判断信息的有效性了。 好了,要实现白+黑,还得分两步走ÿ



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3