Skip to main content

vkseeion.runocr OCR识别记录

· 3 min read

微信小程序的VisionKit 拥有OCR能力,但是这个能力有点弱。

微信小程序拥有OCR检测,来自于VisionKit 视觉能力。

记录一下跑起来过程中遇到的几个问题。

官方文档问题

我们看到官方文档OCR这里,有一些片段告诉你怎么用,但是只有片段,因此你如果把这些代码复制粘贴到你的代码中,是跑不起来的。

官方也提供了一个photo-ocr-detect github样例,但是看起来很复杂。

没有非常快速上手的样例。

ai编程

尝试让ai来生成代码,ai确实会生成,但是代码跑起来有问题。然后让ai查问题,发现了一些兼容性问题,就是有些代码里面用的老写法,而新版里面是要用新写法的,导致代码的混用。

之后碰到一个问题,就是从官方文档、github样例、ai编程代码三个地方来揉合代码的时候,各种变量、写法不一致,复制粘贴很容易把变量搞错。

调试问题

由于VisionKit不能在模拟器调试,只能真机预览,导致报错信息都看不到,只能使用c时代的printf大法,不断地在代码中加弹窗提示,来判断程序走到哪里了,不过弹窗有长度限制,导致信息不全,最后尝试在页面加text进行显示。

效果

进过调试,终于运行成功了。就是先用一个canvas,画出图片,然后再用getImageData来获取数据,最后再runocr执行。

canvas的大小设定,导致图片的效果很差。

最后识别的效果也很差,拍照和屏幕截图拿来识别,基本上只能识别出十几个文字出来,并且还有错的。