如何在节点中使用OCR实现图像文字识别功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
<强>环境需求强>
1。表达是一个非常流行的node . js的web框架。基于连接(节点中间件框架)。提供了很多便于处理http请求等网络开发相关的扩展。
2。OCR:
通用文字识别节点SDK目录结构:
├──src
引用>
,,,│,├──auth ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,//授权相关类
,,,│,├──http ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,//Http通信相关类
,,,│,├──client ,,,,,,,,,,,,,,,,,,,,,,,,,,,,//公用类
,,,│,├──util ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,//工具类
,,,│,└──const ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,//常量类
,,,├──AipOcr.js ,,,,,,,,,,,,,,,,,,,,//通用文字识别交互类
,,,├──index.js ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,//入口文件
,,,└──package.json ,,,,,,,,,,,,,,,,,,,,,,,,,//npm包描述文件,
支持节点版本4.0 +
直接使用节点开发包步骤如下:1。在官方网站下载节点SDK压缩包。
2。将下载的aip-node-sdk-version。zip解压后,复制到工程文件夹中。
3。进入目录,运行npm安装安装sdk依赖库
4。把目录当做模块依赖其中,版本为版本号,添加完成后,用户就可以在工程中使用通用文字识别节点SDK。
直接使用npm安装依赖:
npm安装baidu-aip-sdk(尝试没有成功)
AipOcrClient是光学字符识别的节点客户端,为使用光学字符识别的开发人员提供了一系列的交互方法。
用户可以参考如下代码新建一个AipOcrClient:
var AipOcrClient =,要求(“baidu-aip-sdk") .ocr;,//,设置APPID/AK/SK var APP_ID =,“你的,App ID",, var API_KEY =,“你的,Api Key",, var SECRET_KEY =,“你的,Secret Key",, var client =, new AipOcrClient (APP_ID, API_KEY, SECRET_KEY);表达搭建就不再做详细介绍了,上一篇博客已有哦~ ~
<强>功能实现
强>前端上传图片后端处理:
router.route (“/uploadPhoto") . get(函数(点播,res){//大敌;到达此路径则渲染登记文件,并传出标题值供,register.html使用 ,res.render (“uploadPhoto"{标题:& # 39;图片文字识别& # 39;,信息:““}); res} . post()函数(点播){ ,//跨域 ,res.header (“Access-Control-Allow-Origin",,“*”); ,res.header (“Access-Control-Allow-Methods",“PUT、POST、GET、删除、OPTIONS"); ,res.header (“Access-Control-Allow-Headers",,“内容类型,内容长度,,授权,接受,X-Requested-With"); ,let form =, new formidable.IncomingForm ();=,form.encoding & # 39; utf - 8 # 39;,,//,编码=,form.keepExtensions ,真的,,//,保留扩展名=,form.maxFieldsSize 2, *, 1024, *, 1024;,//,文件大?,form.uploadDir & # 39; F:/nodejs ocrCheck/资产/ocr # 39;,//,存储路径 ,form.parse(要求、功能(呃,提交,文件){//大敌;解析,formData数据 如果才能(err) {, return console.log (err),} let 才能;imgPath =, files.img.path //,获取文件路径 let 才能;imgName =,“F:/nodejs/ocrCheck/资产/OCR/测试干净,+,files.img.type.split(“/?[1],//,修改之后的名字 let 才能;data =, fs.readFileSync (imgPath),//,同步读取文件 fs.writeFile才能(imgName、数据、函数(err){//大敌;存储文件 ,,如果(err) {, return console.log (err),} ,,fs.unlink (imgPath,函数(){}),//,删除文件 ,,//上传图片成功返回代码:1 ,,//res.json({代码:1}) ,,global.nodeServer.getResult (res, imgName); })才能 ,}); });图片处理核心模块:
module.exports =, {, ,getResult :函数(res imgName) { null null null null null null null null null null null null null如何在节点中使用OCR实现图像文字识别功能