Javascript 如何通过Tesseract.js使用OCR从图像中提取数字?

Javascript 如何通过Tesseract.js使用OCR从图像中提取数字?,javascript,Javascript,如何使用带OCR的Javascript和Tesseract.js从图像中提取数字,然后将数字相加 我可以使用这段代码提取单词中的数字,但我不知道如何将它们转换为数组,然后将四个数字相加。假设我想在手机上扫描的数字图像是4567 如果我将文本从console.log更改为number,则不会显示数字4567 var myImage=document.getElementById('userImage'); 识别(myImage).then(函数(结果){ console.log(result.t

如何使用带OCR的Javascript和Tesseract.js从图像中提取数字,然后将数字相加

我可以使用这段代码提取单词中的数字,但我不知道如何将它们转换为数组,然后将四个数字相加。假设我想在手机上扫描的数字图像是4567

如果我将文本从console.log更改为number,则不会显示数字4567

var myImage=document.getElementById('userImage');
识别(myImage).then(函数(结果){
console.log(result.text);
})

函数启动处理(){
设img=document.getElementById('ocr');
认识(
img,
"eng",{
logger:m=>console.log(m)
}
).然后((res)=>res)。然后(({
数据
}) => {
console.log(data.text,typeof(data.text));//以字符串形式返回类型
log(Number(data.text),parseInt(data.text));//将字符串转换为数字
//带有数字的数组,即“4567”-->[4,5,6,7]
让convertedNumber=[…data.text].map((num)=>Number(num));
//计算convertedNumber数组中的数字之和
设总和=转换数。减少((acc,curr)=>acc+curr);
log(':::SUM:',SUM);
})
}

文件

刚刚创建了一个示例或一个简单的实现,不是最好的代码,但显然您可以参考此

您是否尝试过-
console.log(parseInt(result.text))我试着给你编一段代码。Tesseract不信任占位符图像,非常感谢,但它显示了“TypeError:减少没有初始值的空数组”pls。您可以检查url。如果您能更明确地使用函数reduce((acc,curr)=>acc+curr),我会喜欢它。基本上,我希望这个javascript能让我的手机在按下扫描按钮时扫描号码,并将所有四个号码相加。;有关reduce的更多信息,请参阅。对于错误:
TypeError:reduce of empty array with no initial value
,这是由于
convertedNumber
数组为emptyAmit Mondal造成的,谢谢您的帮助。我想问一下,为什么我的图像中转换后的数字不会自动存储为一个数组,使用上面您给我的代码让convertedNumber=[…result.text].map((num)=>Number(num));当我像下面这样手动添加数组时,convertedNumber=[4,5,6,7];它可以工作。是
result.text
返回扫描图像的字符串吗?让convertedNumber=[…result.text].map((num)=>Number(num));不返回任何扫描图像字符串。