EasyOcr 安装(linux、docker)、使用(gin、python)
生活随笔
收集整理的這篇文章主要介紹了
EasyOcr 安装(linux、docker)、使用(gin、python)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
EasyOcr git地址
EasyOCR是一款用python語言編寫的OCR第三方庫(kù),同時(shí)支持GPU和CPU,目前已經(jīng)支持超過70種語言.安裝(CPU)
注意:
- 本文是在僅在cpu下使用。如要使用CUDA版本,請(qǐng)?jiān)趐ytorch網(wǎng)站上選擇正確的,并關(guān)閉此文章。(開玩笑,容器安裝支持)
- easyocr 不支持32位的python(經(jīng)歷了數(shù)個(gè)小時(shí)的血淚教訓(xùn):python3.8-32)
- 初次使用時(shí),會(huì)自動(dòng)下載所用到的模型,我們可以先下載easyocr所要用到的模型
- 模型官網(wǎng)地址:估計(jì)你也不可用,我的百度網(wǎng)盤 提取碼:vhsy
Windows
- 安裝 easyocr: pip3 install easyocr (安裝除了模型文件之外的所有依賴)
- 如果在安裝Torch、Torchvision時(shí)出錯(cuò):whl包 可按照自己的版本自行下載安裝
Linux
- 安裝 easyocr: pip3 install easyocr (安裝除了模型文件之外的所有依賴)
- 博主在ubuntu:18.04上安裝 西內(nèi)!!!(遇到了本文最后的問題)
- 直接git clone 源碼,之后: sudo python3 setup.py install。ok!!!
模型存放位置
- Windows:C:\Users\用戶名.EasyOCR\model
- Linux:~/ .EasyOCR / model
創(chuàng)建鏡像,啟動(dòng)容器
-
下載git中的Dockerfile
-
創(chuàng)建鏡像:
mkdir easyocr # 把Dockerfile 放easyocr docker build -t easyocr . # 創(chuàng)建名為easyocr的鏡像 -
啟動(dòng)容器:
docker run -d -p 18888:18888 -v /home/fxm/easyocr/:/home/fxm/easyocr/ --name ocr -it 鏡像id /bin/bash # -d -p 18888:18888: 指定綁定本機(jī)端口(如果要啟服務(wù),需要開啟,其他忽略) # -v /home/fxm/easyocr/:/home/fxm/easyocr/ 掛載目錄,存放代碼文件 # --name easyocr 容器名為easyocr
代碼
test.py
import easyocr import sys# 創(chuàng)建reader對(duì)象 reader = easyocr.Reader(['en'], gpu=False) # 讀取圖像 file_name = sys.argv[1] result = reader.readtext(file_name, detail=0) # 結(jié)果 print(result[0])main.go
package mainimport ("fmt""github.com/gin-gonic/gin""os""os/exec" )func main() {r := gin.Default()r.POST("/get_pic", func(c *gin.Context) {file, err := c.FormFile("pic")if err != nil {c.String(302, "沒有圖片")return}filename := file.Filename// 判斷圖片存在 刪除if _, err := os.Stat(filename); err == nil {_ = os.Remove(filename)}if err := c.SaveUploadedFile(file, filename); err != nil {c.String(302, "圖片保存異常", err)return}cmd := exec.Command("python3", "test.py", filename)// 執(zhí)行命令,并返回結(jié)果output, err := cmd.Output()if err != nil {c.String(302, "圖片異常", err)return}err = os.Remove(filename)if err != nil {fmt.Println("刪除失敗")c.String(302, "未知異常", err)return}_ = cmd.Wait()res := string(output[:len(output) - 1])c.String(200, res)return})_ = r.Run("0.0.0.0:18888") // listen and serve on 0.0.0.0:8080 }- 如不需服務(wù) test.py放入easyocr文件夾下 即可
- 將main.go 編譯后放入easyocr文件夾下,進(jìn)入容器,執(zhí)行 編譯后的執(zhí)行文件
驗(yàn)證(python版本)
import requestspath = "1.jpg" url = "http://ip:18888/get_pic" files = {'pic': open(path, 'rb')} r = requests.post(url=url, files=files).content.decode() print(r)問題
-
ModuleNotFoundError: No module named ‘skbuild’
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple scikit-build -
Problem with the CMake installation, aborting build. CMake executable is cmake
一:pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple cmake二:1. 下載最近的源git clone https://github.com/scikit-build/scikit-build cd scikit-build2. 開始安裝pip install .# 采用上述方法之后仍然報(bào)錯(cuò)
總結(jié)
以上是生活随笔為你收集整理的EasyOcr 安装(linux、docker)、使用(gin、python)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 交行信用卡额度一般是多少 额度查询的五种
- 下一篇: 100块钱能投资吗?100块可以做什么投