第一步:创建项目存储路径(C:\node_workspace),创建NodeJs 项目(image_reco) 并初始化

cd C:\node_workspace

mkdir image_reco

cnpm init

第二步:图形识别依赖模块介绍和本地安装

node-images: Node.js 轻量级跨平台图像编解码库
tesseract.js: 纯 JS 的 OCR 库支持 62 种语言。

本地安装:node-images 和 tesseract.js模块

C:\node_workspace\image_reco>npm install tesseract.js
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN image_reco@1.0.0 No description
npm WARN image_reco@1.0.0 No repository field.+ tesseract.js@1.0.14
added 23 packages in 9.246sC:\node_workspace\image_reco>npm install images> images@3.0.2 install C:\node_workspace\image_reco\node_modules\images
> node ./scripts/install.jsDownloading binary from https://github.com/zhangyuanwei/node-images/releases/download/v3.0.2/win32-x64-57_binding.node
Download complete..] - :
Binary saved to C:\node_workspace\image_reco\node_modules\images\vendor\win32-x64-57\binding.node
Caching binary to C:\Users\zzg\AppData\Roaming\npm-cache\images\3.0.2\win32-x64-57_binding.node
npm WARN image_reco@1.0.0 No description
npm WARN image_reco@1.0.0 No repository field.+ images@3.0.2
added 97 packages in 15.86s

编辑package.json 文件,添加第三方模块

{"name": "image_reco","version": "1.0.0","description": "","main": "app.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"author": "","license": "ISC","dependencies": {"images": "^3.0.2","tesseract.js": "^1.0.14"}
}

第三步:项目根路径编写app.js 文件,编辑内容如下:

"use strict"
var images = require('images')
var Tesseract = require('tesseract.js');
var request = require('request');
var fs = require('fs');
// 将图片下载到本地
function downloadFile(uri, filename, callback) {var stream = fs.createWriteStream(filename);request(uri).pipe(stream).on('close', function () {callback();});
}
// 识别图片
function recognize(filePath, callback) {// 图片放大images(filePath).size(90).save(filePath);// 识别Tesseract.recognize(filePath, {lang: 'eng', // 语言选英文tessedit_char_blacklist: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'//因为是数字验证码,排除字母}).then((result) => {callback(result.text);});
}
function getVcode() {var url = 'https://ww1.sinaimg.cn/large/8c9b876fly1fe0bvsibibj201a00p07l.jpg';var filename = 'vcode.png';// 先下载下来,再识别downloadFile(url, filename, function () {recognize(filename, function (txt) {console.log('识别结果: ' + txt);});});
}
getVcode();

第四步:安装项目依赖,执行图片识别app.js 代码

C:\node_workspace\image_reco>cnpm install
√ Installed 2 packages
√ Linked 0 latest versions
√ Run 0 scripts
√ All packages installed (used 34ms(network 22ms), speed 0B/s, json 0(0B), tarball 0B)C:\node_workspace\image_reco>node app.js
pre-main prep time: 37 ms
识别结果: 3128

项目结构:

NodeJS 搭建图形识别功能相关推荐

  1. 用nodejs搭建最简单、轻量化的http server

    1. 引言 前端程序猿主要关注的是页面,你可能根本就用不到.net,java,php等后台语言. 但是你制作出来的网页总要运行.总要测试吧?--那就免不了用到http server.我先前都是用vis ...

  2. svn服务器搭建和使用_简单使用nodejs搭建一个静态服务器

    前提:系统安装nodejs 搭建步骤 使用nodejs搭建服务器,简单的来说可以分为三步: require相应的模块 创建服务器 配置端口 启动服务器 必要的nodejs模块 以下模块都是以 var ...

  3. nodejs 本地php服务器,Nodejs搭建本地http服务器

    由于不做php相关的东西,懒得装apache,干脆利用nodejs搭建一个本地的服务器用于测试. nodejs这玩意儿吧,对做前端的介入后端简直就是一把利器.而且目前,nodejs也越来越有商用价值. ...

  4. websocket 学习--简单使用,nodejs搭建websocket服务器,到模拟股票,到实现聊天室

    websocket简介: WebSocket协议是 HTML5 开始提供的一种基于TCP的一种新的全双工通讯的网络通讯协议.它允许服务器主动发送信息给客户端. 和http协议的不同?? HTTP 协议 ...

  5. Nodejs搭建前后端分离开发模式下的微信网页项目

    原文链接:<Nodejs搭建前后端分离开发模式下的微信网页项目>- 陈帅华 本文涉及对前后端分离及微信网页项目中的前端如何在本地环境中开发与调试的思考. 主要问题 1.如何配置微信公众平台 ...

  6. 手把手,教你用nodejs搭建后台最小系统(大量图文)系列二

    前段时间利用nodejs封装了一个最小系统,也终于是把很久之前的愿望给实现了,在这里把如何实现分享出来. 本系列文章有两篇,上一篇详见下面传送门: 传送门:<手摸手,教你用nodejs搭建后台最 ...

  7. nodejs搭建静态文件服务器

    用NodeJS搭建静态文件服务器 引言 之前用lamp和wamp搭建过网站,集成的软件套装对于建站十分方便.apache的autoindex功能我非常喜欢,有时候想要分享一些文件给同学,但是又懒得用U ...

  8. 使用 nodejs 搭建个人博客

    "使用nodejs搭建自己的个人博客" 说明 运行 后端 node 模块 后端框架采用的是 express 框架进行接口构建,具体解释如下: 数据库参数配置 评论邮箱提示 付费文件 ...

  9. 使用Nodejs搭建server

    使用Nodejs搭建server(MySQL + MongoDB) 环境 文件 版本号 nodejs 8.10.0 mysql 2.16.0 express-generator 4.16.0 pm2 ...

  10. 用nodejs搭建一个简单的服务器

    使用nodejs搭建一个简单的服务器 nodejs优点:性能高(读写文件) 数据操作能力强 官网:www.nodejs.org 验证是否安装成功:cmd命令行中输入node -v 如果显示版本号表示安 ...

最新文章

  1. 项目管理自动化实践之路
  2. 没有学过功夫能否练神功
  3. 关于Ajax 4-9
  4. 激进or务实?HEVC、AV1 和私有Codecs现状
  5. linux go语言环境配置文件,linux下安装配置go语言环境
  6. Java学习笔记_多态/内部类
  7. nfc/nfc模式_NFC的完整形式是什么?
  8. burp intruder爆破出现 Payload set 1: Invalid number settings的解决办法
  9. Java项目案例大全
  10. 用nohup执行python程序时,print无法输出
  11. 01背包问题python实现
  12. keil、Proteus下载及安装教程
  13. sap abap开发从入门到精通_给你的ABAP对象打上标签(Tag)
  14. 如何判断是否是ssd硬盘?win10查看固态硬盘的方法
  15. 手机拍照实用技巧,实用的拍照方法和功能
  16. 一文学会VOS中限制某个地区的固话和手机
  17. 使用 jks 签名包 签名失败问题
  18. 2015国电设风力摆练手
  19. 解决下载的映像文件不是后缀名为.iso的问题
  20. iOS 段落富文本使用

热门文章

  1. 阿里开源配置服务diamond分析
  2. 2021-2027中国家具门立柱市场现状及未来发展趋势
  3. 【阅读笔记】(语义分割最全总结,综述)《A Review on Deep Learning Techniques Applied to Semantic Segmentation》
  4. web前端面试(1) 前端缓存怎么做?
  5. 前端缓存方法实现—cookie/sessionStorage/localStorage
  6. Excel 绘制 人口年龄结构树状图
  7. Linux中用tar命令对文件夹进行打包压缩
  8. android root查看目录权限,Android真机获取root权限,进入data目录
  9. TensorFlow笔记(6) 单神经元分类
  10. 【CVPR-2019】基于深度学习优化光照的暗光图像增强