<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答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 中。這里有幾個注意點:

      1. request 圖片的時候要設置 encoding: null,否則返回的是亂碼
      2. 初次使用的時候需要下載訓練集,需要花點時間
      3. 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
        主站蜘蛛池模板: 亚洲?v女人的天堂在线观看| 国产A在亚洲线播放| 亚洲ts人妖网站| 人妻仑刮八A级毛片免费看| 成人午夜大片免费7777| 亚洲国产精品一区二区久久hs| 一级女性全黄生活片免费看| 亚洲日本在线观看视频| a级毛片免费全部播放无码| 国产亚洲精品国看不卡| 国产精品视频白浆免费视频| 亚洲免费在线视频| 成人免费视频69| 久久国产亚洲精品麻豆| 99视频免费观看| 伊人久久大香线蕉亚洲| 免费精品一区二区三区第35| 97se亚洲综合在线| 中文字幕乱码一区二区免费| 国产一区二区三区免费看| 亚洲精品美女在线观看播放| 国产免费久久精品丫丫| 国产区卡一卡二卡三乱码免费 | 亚洲日本在线免费观看| 毛片视频免费观看| 亚洲精品无码久久毛片波多野吉衣| 亚洲免费一级视频| 久久久久久久亚洲Av无码| 免费看黄视频网站| 亚洲欧洲校园自拍都市| 全免费a级毛片免费看无码| 国产成人亚洲综合网站不卡| 99视频全部免费精品全部四虎| 亚洲精品伦理熟女国产一区二区| 中文字幕无码免费久久99| 亚洲第一永久在线观看| 日韩中文字幕在线免费观看| 在线观看免费黄色网址| 亚洲一区二区观看播放| 日本a级片免费看| 日韩免费视频一区二区|