html5 ocr识别实现,javascript - OCR using HTML5 canvas - Stack Overflow

一位初学者在使用HTML5和OCRAD.js尝试制作一个手写字母识别应用,但无论输入什么字母,识别结果始终为'I'。寻求帮助修复canvas传递问题及OCRAPI的正确引用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

I'm a complete newbee to HTML5 and Javascript. I'm trying to make this simple app in HTML5 where a user can draw any alphabet on the canvas and the alphabet gets recognized using ocrad.js. However, upon executing this script, no matter what alphabet i draw, the output is always the alphabet 'I'. My guess is that an empty canvas is being passed as an argument to OCRAD or there is an error in linking ocrad.js .

I'm not even sure, how to include the ocrad API as 'src' as i'm completely new to Javascript. Here's what i have written so far.

var cnv = document.getElementById('myCanvas')

var ctx = cnv.getContext('2d')

var lc=0

var prX=-1

var prY=-1

var dot= ctx.createImageData(2,2)

for (i=0; i

dot.data[i+0]=0

dot.data[i+1]=160

dot.data[i+2]=230

dot.data[i+3]=255

}

document.getElementById('clear').addEventListener('click', function() {

ctx.clearRect(0, 0, cnv.width, cnv.height);

}, false);

function release(){

lc=0

prX=-1

}

function putPoint(event){

var bb, x, y

bb = cnv.getBoundingClientRect()

x = (event.clientX-bb.left) * (cnv.width/bb.width)

y = (event.clientY-bb.top) * (cnv.height/bb.height)

ctx.putImageData(dot,x,y)

}

function Draw(event){

if(lc==1){

var bb, x, y

bb = cnv.getBoundingClientRect()

x = (event.clientX-bb.left) * (cnv.width/bb.width)

y = (event.clientY-bb.top) * (cnv.height/bb.height)

if (prX!=-1){

ctx.beginPath()

ctx.moveTo(prX,prY)

ctx.lineTo(x,y)

ctx.lineWidth=10

ctx.closePath()

ctx.strokeStyle='rgb(0,0,0)'

ctx.stroke()

}

prX=x

prY=y

}

}

document.getElementById('recognize').addEventListener('click', function() {

var string = OCRAD(cnv)

alert(string)

});

Any help in fixing this is appreciated. Thank You.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值