第三十九章 OCR文字识别抄录魔法(1 / 2)
看到丹娜兴致勃勃地进入抄录室后,李维斯才前往接待室。
他舒服地坐在接待室的沙发上,闭上眼开始写代码。
要使用ocr文字识别,也很简单。
依旧是导入第三方的包,再简单调用两三个函数即可。
赞美伟大的开源作者!
这次的包名叫做tesseract,李维斯在地球的时候也用过。
不过不是在实际项目中,而是闲着无聊自己做个演示项目来玩玩。
这个抄录魔法符号的魔法,要放到魔法与魔法符号相互转换这一个模块中。
更准确来说是这个模块中的魔法符号工具类里。
做成静态函数,一键调用,方便又快捷。
这个识别魔法符号并抄录的功能,需要配合之前用过的opencvsharp包来使用。
调用眼睛作为摄像头,但这次不用将其储存为视频格式,而是直接储存为图片格式。
而且也不用存到硬盘上,直接在内存中使用,使用完了释放它的资源即可。
简而言之就是拍下清晰的照片,提取完照片里面的文字后,扔掉照片。
而之前抄录瞬移卷轴时,因为时间紧迫并没有想到ocr技术,所以需要将视频存到硬盘里,再读取路径播放。
步骤多了几步,繁琐了一点,还要自己手动抄录。
而这次不一样,全自动抄录,识别完符号后,复制粘贴到备忘魔法纸上——
不,现在没有备忘魔法纸了。
李维斯已经将所有魔法都写入到文本文件,保存到“人脑”硬盘上。
保存路径还是上次保存视频的c盘,只是文件名都以魔法名来命名。
想查看的时候,从储存路径加载到文本控件中就好了。
这样一来,李维斯的魔法纸界面就干净了很多,也多了一张魔法纸可以用。
回到正题,识别完魔法符号后,放到文本控件中。
再把魔法符号转换成代码,放到另一个文本控件中,运行这段代码。
如果能成功运行,就说明识别正确了,可以储存到硬盘中。
如果运行报错了,那就在代码上面改,改正确了再转回魔法符号,储存到硬盘中。
这样一来就不用对着六七千个和1,一个一个地校对哪一个数字错了。
捋清思路后,开始动手——动脑写代码。
写了一个多小时,终于写好了。
本来只写这个功能的话,很快写完的。
但是要把这个功能加入到未完善的框架中,就需要多花点功夫。
写完用手写在纸上的和1测试了半个小时。
虽说是手写的,但识别率还算可以。
用在幻影之盒里写得更工整的魔法符号上,识别率会更高。
一切准备就绪,李维斯叫来人偶一号,告诉它自己要抄录所有魔法。
人偶一号有些疑惑,再三确认是否真的要抄录所有魔法后,才让李维斯进入抄录室。
李维斯站在熟悉的抄录室中,打开幻影之盒,看着六七十个密密麻麻地投影在墙壁上。
好在幻影之盒是可以控制内容的。
李维斯调了调,把六个魔法投影到墙上,确保数量和清晰度在一个最好的平衡。
虽然多个魔法被一起识别出来后,就是一大堆分不清哪里是开始哪里是结尾的和1。
但是无所谓,只要将所有二进制数都转成代码,开头和结尾一眼就能看出来的。
事不宜迟,开始吧,全自动抄录魔法。
启动魔法程序,调用摄像头,执行ocr文件识别,一两秒后,输出结果到文本控件,再把结果转换成代码输出到另一个文本控件中。
整个流程都没有问题,速度也很快。