国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

如何制作一個Node命令行圖像識別工具

來源:懂視網 責編:小采 時間:2020-11-27 22:02:40
文檔

如何制作一個Node命令行圖像識別工具

如何制作一個Node命令行圖像識別工具:從 0 開始制作一個 NodeJS 命令行驗證碼識別工具。實現如下效果。 初始化項目 # 創建 recognition 項目 mkdir recognition cd recognition npm init -y # 安裝主依賴 yarn add images tesseract.js # 安裝工具依賴 yar
推薦度:
導讀如何制作一個Node命令行圖像識別工具:從 0 開始制作一個 NodeJS 命令行驗證碼識別工具。實現如下效果。 初始化項目 # 創建 recognition 項目 mkdir recognition cd recognition npm init -y # 安裝主依賴 yarn add images tesseract.js # 安裝工具依賴 yar

從 0 開始制作一個 NodeJS 命令行驗證碼識別工具。實現如下效果。

 

初始化項目

# 創建 recognition 項目
mkdir recognition
cd recognition
npm init -y

# 安裝主依賴
yarn add images tesseract.js

# 安裝工具依賴
yarn add chalk yargs

# 可選依賴
yarn add socks5-http-client

依賴說明

images :Node.js 輕量級跨平臺圖像編碼庫,用于處理下載下來的圖片

tesseract.js :純 JS 實現的 OCR(光學字符識別)工具,用于圖像內容識別

chalk :讓命令行內容樣式好看

yargs :命令行參數解析器

socks5-http-client :SOCKS v5,用于設置代理,在需要拉取某些不能直接訪問的資源時使用, request proxy 例子

項目準備

新建 cli.js

通常命令行工具入口名字為 cli.js ,我們新建一個 cli.js 文件,并在開頭寫上:

#!/usr/bin/env node

這樣,我們告訴 *nix 系統,JavaScript 文件的解釋器應該是 /usr/bin/env node ,它查找本地安裝的 node

配置 bin

// package.json
{
 "bin": {
 "reg": "./cli.js"
 }
}

這樣配置完成后,別人 npm install -g @chenng/recognition 的包,就可以直接通過命令行運行了:

reg --url=https://static.chenng.cn/imgs/test_img.png

link 本地開發

我們如何能夠在本地可以使用 rec 命令呢?只需要把本項目 link 即可:

yarn link

核心邏輯

主要邏輯在 cli.jsrecognize.js 中。這里有幾個注意點:

  • request 圖片的時候要設置 encoding: null,否則返回的是亂碼
  • 初次使用的時候需要下載訓練集,需要花點時間
  • const Tesseract = require('tesseract.js');
    const images = require('images');
    const requset = require('request');
    const fs = require('fs');
    const { promisify } = require('util');
    const chalk = require('chalk');
    
    const writeFile = promisify(fs.writeFile);
    const rp = promisify(requset);
    
    class Recognize {
     constructor(url) {
     Recognize.downloadDir = `${__dirname}/dist/`;
     Recognize.downloadFile = `${__dirname}/dist/temp.png`;
     this.url = url;
     this.start();
     }
    
     async start() {
     const data = await this.downloadImg();
     await writeFile(Recognize.downloadFile, data);
     this.recognize();
     const result = await Tesseract.recognize(Recognize.downloadFile, {
     lang: 'eng',
     tessedit_char_blacklist: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
     });
    
     console.log(`
    
     識別成功!
     識別
    結果為:${chalk.green(result.text)} `); } async downloadImg() { if (!fs.existsSync(Recognize.downloadDir)) { fs.mkdirSync(Recognize.downloadDir); console.log(`創建了 ${Recognize.downloadDir} 文件夾`); } const res = await rp({ url: this.url, method: 'GET', encoding: null, }); return res.body; } recognize() { // 放大圖片,并覆蓋源文件 images(Recognize.downloadFile) .size(400) .save(Recognize.downloadFile); } } module.exports = Recognize;

    具體可以查看源碼倉庫: https://github.com/ringcrl/recognition

    發布上線

    # 新建代碼倉庫,git push
    
    # 登錄到 npm
    npm adduser
    
    # 發包
    npm publish --access public
    
    # 全局安裝
    npm install -g @chenng/recognition
    

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    如何制作一個Node命令行圖像識別工具

    如何制作一個Node命令行圖像識別工具:從 0 開始制作一個 NodeJS 命令行驗證碼識別工具。實現如下效果。 初始化項目 # 創建 recognition 項目 mkdir recognition cd recognition npm init -y # 安裝主依賴 yarn add images tesseract.js # 安裝工具依賴 yar
    推薦度:
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 亚洲精品美女久久777777 | 91专区| 日韩欧美制服 | 国产高清美女一级a毛片久久 | www.亚洲欧美 | 久久精品一区二区三区四区 | 成人精品第一区二区三区 | 欧美日韩一二三区 | 亚洲wuma | 国产日韩欧美一区二区三区视频 | 亚洲成色999久久网站 | 久久无码精品一区二区三区 | 精品一区二区三区18 | 亚洲韩精品欧美一区二区三区 | 国内精品伊人久久大香线焦 | 亚洲国产精久久久久久久 | 亚洲一区二区三区免费观看 | 欧洲精品欧美精品 | 一级毛片免费观看久 | 免费在线观看的视频 | 一区二区三区视频在线播放 | 国产精品亚洲αv天堂2021 | 国内精品一区二区三区最新 | 91久久精品国产91性色tv | 欧美日韩一区二区三区在线观看 | 天堂va欧美ⅴa亚洲va一国产 | 福利二区 | 成人a免费视频播放 | 精品在线网站 | 国精品日韩欧美一区二区三区 | 最近免费中文字幕大全高清片 | 殴美激情 | 国产一级特黄高清免费下载 | 欧美成人高清视频 | 三区在线观看 | 91大神在线观看精品一区 | 一区二区三区高清 | 日韩精品第三页 | 激情欧美日韩一区二区 | 三级第一页| 亚洲高清在线观看 |