如何让Ocrad.js示例工作
我正在制作一个OCR(光学字符识别)Web应用程序,我找到了JavaScript库Ocrad.js ,这正是我想要的,但我无法让它工作。 有人能帮助我吗?
这是我的代码:
$(document).ready(function() { var image = document.getElementById('image'); var string = OCRAD(image); alert(string); });
您不能只将元素传递给
OCRAD()
函数。
从Ocrad.js文档 :
此文件公开单个全局函数OCRAD,它将图像作为参数并将识别的文本作为字符串返回。 […]
image
参数可以是canvas元素,Context2D实例或ImageData的实例。
试试这个:
$(document).ready(function() { var $img = $('#image'); var context = document.createElement('canvas').getContext('2d'); context.drawImage($img[0], 0, 0); var imageData = context.getImageData(0, 0, $img.width(), $img.height()); var string = OCRAD(imageData); alert(string); });
但是您可能必须在元素上放置
width
和height
属性才能使其正常工作。
如果您尝试将元素传递给
OCRAD()
函数,您将收到以下错误:
未捕获的exception:5264272 – 禁用exception捕获,无法捕获此exception。 使用-s DISABLE_EXCEPTION_CATCHING = 0或DISABLE_EXCEPTION_CATCHING = 2进行编译以进行捕获。
如果您尝试将jQuery对象传递给OCRAD()
函数,您将收到以下错误:
错误:参数无效
注意:由于同源策略,如果映像的URL与其所在页面的域不同,则对context.getImageData()
的调用将抛出SecurityError
。