'大佬教你如何用Python建一個OCR服務器,附視頻教程'

"

轉發關注+私信小編 “資料”

就可以拿到一份我為大家準備的Python學習資料!

"

轉發關注+私信小編 “資料”

就可以拿到一份我為大家準備的Python學習資料!

大佬教你如何用Python建一個OCR服務器,附視頻教程

Why?

OCR(又叫光學字符識別)已經成為Python的一個常用工具。隨著開源庫Tesseract和Ocrad的出現,越來越多的程序員用OCR來編寫自己的庫文件和bot病毒。一個OCR的小例子,如用OCR直接從截圖中提取文本,省去了重新鍵入的麻煩。

開始的步驟

開始之前,我們需要開發一個後端服務層來表示OCR引擎的結果。這樣你就可以用你喜歡的方式來向端用戶表示你的結果。本文之後將會詳細介紹。除此之外,我們還需要添加一點後端代碼來生成HTML表格,以及一些使用這些API的前段代碼。這部分本文沒有講,但是你可以參閱源代碼。


準備好開始吧!


首先,需要安裝一些依賴項。這個過程也是非常有趣的。本文已經在Ubuntu 14.04測試,但是12.x和13.x版本應該也可以。如果你用的是OSX系統,可以用VirtualBox,Docker(注意檢查有沒有包含Dockerfile和install guide),或者是DigitalOcean(推薦使用)來創建相應的環境。


下載依賴項


我們需要Tesseract及其所有依賴項,包括Leptonica及其他相關的包。注意:可以用_run.sh這個shell腳本來快速安裝Leptonica和Tesseract的依賴包。如果這麼做的話,可以直接跳到搭建Web服務器部分。但是為了學習,如果你以前沒有親手構建過庫文件的話,還是建議嘗試一下。

"

轉發關注+私信小編 “資料”

就可以拿到一份我為大家準備的Python學習資料!

大佬教你如何用Python建一個OCR服務器,附視頻教程

Why?

OCR(又叫光學字符識別)已經成為Python的一個常用工具。隨著開源庫Tesseract和Ocrad的出現,越來越多的程序員用OCR來編寫自己的庫文件和bot病毒。一個OCR的小例子,如用OCR直接從截圖中提取文本,省去了重新鍵入的麻煩。

開始的步驟

開始之前,我們需要開發一個後端服務層來表示OCR引擎的結果。這樣你就可以用你喜歡的方式來向端用戶表示你的結果。本文之後將會詳細介紹。除此之外,我們還需要添加一點後端代碼來生成HTML表格,以及一些使用這些API的前段代碼。這部分本文沒有講,但是你可以參閱源代碼。


準備好開始吧!


首先,需要安裝一些依賴項。這個過程也是非常有趣的。本文已經在Ubuntu 14.04測試,但是12.x和13.x版本應該也可以。如果你用的是OSX系統,可以用VirtualBox,Docker(注意檢查有沒有包含Dockerfile和install guide),或者是DigitalOcean(推薦使用)來創建相應的環境。


下載依賴項


我們需要Tesseract及其所有依賴項,包括Leptonica及其他相關的包。注意:可以用_run.sh這個shell腳本來快速安裝Leptonica和Tesseract的依賴包。如果這麼做的話,可以直接跳到搭建Web服務器部分。但是為了學習,如果你以前沒有親手構建過庫文件的話,還是建議嘗試一下。

大佬教你如何用Python建一個OCR服務器,附視頻教程


發生了什麼?


簡單說,sudo apt-get update意思就是更新包列表。然後就能安裝一些圖像處理的包,如libtiff,libpng等等。除此之外,我們還需要安裝Python 2.7,作為我們的編程語言,以及python-imaging庫。

說起圖像,在將程序裡面編輯圖像之前我們還需要ImageMagick包。

$ sudo apt-get install imagemagick# **構建Leptonica和Tesseract**

再說一遍,如果你用_run.sh腳本已經安裝過,就可以直接跳到搭建Web服務器部分。


Leptonica


現在,開始安裝Leptonica。

"

轉發關注+私信小編 “資料”

就可以拿到一份我為大家準備的Python學習資料!

大佬教你如何用Python建一個OCR服務器,附視頻教程

Why?

OCR(又叫光學字符識別)已經成為Python的一個常用工具。隨著開源庫Tesseract和Ocrad的出現,越來越多的程序員用OCR來編寫自己的庫文件和bot病毒。一個OCR的小例子,如用OCR直接從截圖中提取文本,省去了重新鍵入的麻煩。

開始的步驟

開始之前,我們需要開發一個後端服務層來表示OCR引擎的結果。這樣你就可以用你喜歡的方式來向端用戶表示你的結果。本文之後將會詳細介紹。除此之外,我們還需要添加一點後端代碼來生成HTML表格,以及一些使用這些API的前段代碼。這部分本文沒有講,但是你可以參閱源代碼。


準備好開始吧!


首先,需要安裝一些依賴項。這個過程也是非常有趣的。本文已經在Ubuntu 14.04測試,但是12.x和13.x版本應該也可以。如果你用的是OSX系統,可以用VirtualBox,Docker(注意檢查有沒有包含Dockerfile和install guide),或者是DigitalOcean(推薦使用)來創建相應的環境。


下載依賴項


我們需要Tesseract及其所有依賴項,包括Leptonica及其他相關的包。注意:可以用_run.sh這個shell腳本來快速安裝Leptonica和Tesseract的依賴包。如果這麼做的話,可以直接跳到搭建Web服務器部分。但是為了學習,如果你以前沒有親手構建過庫文件的話,還是建議嘗試一下。

大佬教你如何用Python建一個OCR服務器,附視頻教程


發生了什麼?


簡單說,sudo apt-get update意思就是更新包列表。然後就能安裝一些圖像處理的包,如libtiff,libpng等等。除此之外,我們還需要安裝Python 2.7,作為我們的編程語言,以及python-imaging庫。

說起圖像,在將程序裡面編輯圖像之前我們還需要ImageMagick包。

$ sudo apt-get install imagemagick# **構建Leptonica和Tesseract**

再說一遍,如果你用_run.sh腳本已經安裝過,就可以直接跳到搭建Web服務器部分。


Leptonica


現在,開始安裝Leptonica。

大佬教你如何用Python建一個OCR服務器,附視頻教程

如果這是你第一次用tar的話,按照如下步驟操作:

1. 用wget下載Leptonica的二進制文件

2. 解壓

3. 用cd進入解壓後的文件夾

4. 運行autobuild和configure腳本安裝

5. 執行make命令build

6. Build後安裝

7. 執行ldconfig創建相關的鏈接

OK,Leptonica創建好了,接下來就是Tesseract了。


Tesseract


現在下載並安裝Tesseract吧。

"

轉發關注+私信小編 “資料”

就可以拿到一份我為大家準備的Python學習資料!

大佬教你如何用Python建一個OCR服務器,附視頻教程

Why?

OCR(又叫光學字符識別)已經成為Python的一個常用工具。隨著開源庫Tesseract和Ocrad的出現,越來越多的程序員用OCR來編寫自己的庫文件和bot病毒。一個OCR的小例子,如用OCR直接從截圖中提取文本,省去了重新鍵入的麻煩。

開始的步驟

開始之前,我們需要開發一個後端服務層來表示OCR引擎的結果。這樣你就可以用你喜歡的方式來向端用戶表示你的結果。本文之後將會詳細介紹。除此之外,我們還需要添加一點後端代碼來生成HTML表格,以及一些使用這些API的前段代碼。這部分本文沒有講,但是你可以參閱源代碼。


準備好開始吧!


首先,需要安裝一些依賴項。這個過程也是非常有趣的。本文已經在Ubuntu 14.04測試,但是12.x和13.x版本應該也可以。如果你用的是OSX系統,可以用VirtualBox,Docker(注意檢查有沒有包含Dockerfile和install guide),或者是DigitalOcean(推薦使用)來創建相應的環境。


下載依賴項


我們需要Tesseract及其所有依賴項,包括Leptonica及其他相關的包。注意:可以用_run.sh這個shell腳本來快速安裝Leptonica和Tesseract的依賴包。如果這麼做的話,可以直接跳到搭建Web服務器部分。但是為了學習,如果你以前沒有親手構建過庫文件的話,還是建議嘗試一下。

大佬教你如何用Python建一個OCR服務器,附視頻教程


發生了什麼?


簡單說,sudo apt-get update意思就是更新包列表。然後就能安裝一些圖像處理的包,如libtiff,libpng等等。除此之外,我們還需要安裝Python 2.7,作為我們的編程語言,以及python-imaging庫。

說起圖像,在將程序裡面編輯圖像之前我們還需要ImageMagick包。

$ sudo apt-get install imagemagick# **構建Leptonica和Tesseract**

再說一遍,如果你用_run.sh腳本已經安裝過,就可以直接跳到搭建Web服務器部分。


Leptonica


現在,開始安裝Leptonica。

大佬教你如何用Python建一個OCR服務器,附視頻教程

如果這是你第一次用tar的話,按照如下步驟操作:

1. 用wget下載Leptonica的二進制文件

2. 解壓

3. 用cd進入解壓後的文件夾

4. 運行autobuild和configure腳本安裝

5. 執行make命令build

6. Build後安裝

7. 執行ldconfig創建相關的鏈接

OK,Leptonica創建好了,接下來就是Tesseract了。


Tesseract


現在下載並安裝Tesseract吧。

大佬教你如何用Python建一個OCR服務器,附視頻教程

此處構建了一個Leptonica的映像,這部分的詳細信息參考Leptonica的解釋。


環境變量

我們需要設置一個環境變量來訪問Tesseract數據:

$ export TESSDATA_PREFIX=/usr/local/share/


Tesseract包


最後安裝一下Tesseract相關的語言包:

"

轉發關注+私信小編 “資料”

就可以拿到一份我為大家準備的Python學習資料!

大佬教你如何用Python建一個OCR服務器,附視頻教程

Why?

OCR(又叫光學字符識別)已經成為Python的一個常用工具。隨著開源庫Tesseract和Ocrad的出現,越來越多的程序員用OCR來編寫自己的庫文件和bot病毒。一個OCR的小例子,如用OCR直接從截圖中提取文本,省去了重新鍵入的麻煩。

開始的步驟

開始之前,我們需要開發一個後端服務層來表示OCR引擎的結果。這樣你就可以用你喜歡的方式來向端用戶表示你的結果。本文之後將會詳細介紹。除此之外,我們還需要添加一點後端代碼來生成HTML表格,以及一些使用這些API的前段代碼。這部分本文沒有講,但是你可以參閱源代碼。


準備好開始吧!


首先,需要安裝一些依賴項。這個過程也是非常有趣的。本文已經在Ubuntu 14.04測試,但是12.x和13.x版本應該也可以。如果你用的是OSX系統,可以用VirtualBox,Docker(注意檢查有沒有包含Dockerfile和install guide),或者是DigitalOcean(推薦使用)來創建相應的環境。


下載依賴項


我們需要Tesseract及其所有依賴項,包括Leptonica及其他相關的包。注意:可以用_run.sh這個shell腳本來快速安裝Leptonica和Tesseract的依賴包。如果這麼做的話,可以直接跳到搭建Web服務器部分。但是為了學習,如果你以前沒有親手構建過庫文件的話,還是建議嘗試一下。

大佬教你如何用Python建一個OCR服務器,附視頻教程


發生了什麼?


簡單說,sudo apt-get update意思就是更新包列表。然後就能安裝一些圖像處理的包,如libtiff,libpng等等。除此之外,我們還需要安裝Python 2.7,作為我們的編程語言,以及python-imaging庫。

說起圖像,在將程序裡面編輯圖像之前我們還需要ImageMagick包。

$ sudo apt-get install imagemagick# **構建Leptonica和Tesseract**

再說一遍,如果你用_run.sh腳本已經安裝過,就可以直接跳到搭建Web服務器部分。


Leptonica


現在,開始安裝Leptonica。

大佬教你如何用Python建一個OCR服務器,附視頻教程

如果這是你第一次用tar的話,按照如下步驟操作:

1. 用wget下載Leptonica的二進制文件

2. 解壓

3. 用cd進入解壓後的文件夾

4. 運行autobuild和configure腳本安裝

5. 執行make命令build

6. Build後安裝

7. 執行ldconfig創建相關的鏈接

OK,Leptonica創建好了,接下來就是Tesseract了。


Tesseract


現在下載並安裝Tesseract吧。

大佬教你如何用Python建一個OCR服務器,附視頻教程

此處構建了一個Leptonica的映像,這部分的詳細信息參考Leptonica的解釋。


環境變量

我們需要設置一個環境變量來訪問Tesseract數據:

$ export TESSDATA_PREFIX=/usr/local/share/


Tesseract包


最後安裝一下Tesseract相關的語言包:

大佬教你如何用Python建一個OCR服務器,附視頻教程

OK,Tesseract也安裝好了,可以CLI來測試一下。更多的信息可以參考docs。但是,我們還需要一個Python環境。所以,接下來安裝一個能夠接受以下兩種請求的Flask服務器:

1. 接受圖像URL

2. 能夠對圖像進行字符識別

搭建Web服務器


最有趣的事情來了!首先,我們需要構建一種通過Python和Tesseract交互的方式。我們可以使用popen,但是那不是python的風格。所以,我們可以使用一個非常小但是功能非常強大的Python包將Tesseract封裝起來——pytesseract。想要快點的話,就運行_app.sh腳本,否則,就得獲取代碼/結構的模板,然後運行一下命令:

"

轉發關注+私信小編 “資料”

就可以拿到一份我為大家準備的Python學習資料!

大佬教你如何用Python建一個OCR服務器,附視頻教程

Why?

OCR(又叫光學字符識別)已經成為Python的一個常用工具。隨著開源庫Tesseract和Ocrad的出現,越來越多的程序員用OCR來編寫自己的庫文件和bot病毒。一個OCR的小例子,如用OCR直接從截圖中提取文本,省去了重新鍵入的麻煩。

開始的步驟

開始之前,我們需要開發一個後端服務層來表示OCR引擎的結果。這樣你就可以用你喜歡的方式來向端用戶表示你的結果。本文之後將會詳細介紹。除此之外,我們還需要添加一點後端代碼來生成HTML表格,以及一些使用這些API的前段代碼。這部分本文沒有講,但是你可以參閱源代碼。


準備好開始吧!


首先,需要安裝一些依賴項。這個過程也是非常有趣的。本文已經在Ubuntu 14.04測試,但是12.x和13.x版本應該也可以。如果你用的是OSX系統,可以用VirtualBox,Docker(注意檢查有沒有包含Dockerfile和install guide),或者是DigitalOcean(推薦使用)來創建相應的環境。


下載依賴項


我們需要Tesseract及其所有依賴項,包括Leptonica及其他相關的包。注意:可以用_run.sh這個shell腳本來快速安裝Leptonica和Tesseract的依賴包。如果這麼做的話,可以直接跳到搭建Web服務器部分。但是為了學習,如果你以前沒有親手構建過庫文件的話,還是建議嘗試一下。

大佬教你如何用Python建一個OCR服務器,附視頻教程


發生了什麼?


簡單說,sudo apt-get update意思就是更新包列表。然後就能安裝一些圖像處理的包,如libtiff,libpng等等。除此之外,我們還需要安裝Python 2.7,作為我們的編程語言,以及python-imaging庫。

說起圖像,在將程序裡面編輯圖像之前我們還需要ImageMagick包。

$ sudo apt-get install imagemagick# **構建Leptonica和Tesseract**

再說一遍,如果你用_run.sh腳本已經安裝過,就可以直接跳到搭建Web服務器部分。


Leptonica


現在,開始安裝Leptonica。

大佬教你如何用Python建一個OCR服務器,附視頻教程

如果這是你第一次用tar的話,按照如下步驟操作:

1. 用wget下載Leptonica的二進制文件

2. 解壓

3. 用cd進入解壓後的文件夾

4. 運行autobuild和configure腳本安裝

5. 執行make命令build

6. Build後安裝

7. 執行ldconfig創建相關的鏈接

OK,Leptonica創建好了,接下來就是Tesseract了。


Tesseract


現在下載並安裝Tesseract吧。

大佬教你如何用Python建一個OCR服務器,附視頻教程

此處構建了一個Leptonica的映像,這部分的詳細信息參考Leptonica的解釋。


環境變量

我們需要設置一個環境變量來訪問Tesseract數據:

$ export TESSDATA_PREFIX=/usr/local/share/


Tesseract包


最後安裝一下Tesseract相關的語言包:

大佬教你如何用Python建一個OCR服務器,附視頻教程

OK,Tesseract也安裝好了,可以CLI來測試一下。更多的信息可以參考docs。但是,我們還需要一個Python環境。所以,接下來安裝一個能夠接受以下兩種請求的Flask服務器:

1. 接受圖像URL

2. 能夠對圖像進行字符識別

搭建Web服務器


最有趣的事情來了!首先,我們需要構建一種通過Python和Tesseract交互的方式。我們可以使用popen,但是那不是python的風格。所以,我們可以使用一個非常小但是功能非常強大的Python包將Tesseract封裝起來——pytesseract。想要快點的話,就運行_app.sh腳本,否則,就得獲取代碼/結構的模板,然後運行一下命令:

大佬教你如何用Python建一個OCR服務器,附視頻教程

注意:Flask模板是一個獲取簡單的具有Python風格的服務器的非常棒的庫。本文將它用來作為基本程序。


安裝OCR引擎


現在,我們需要用pytesseract來創建一個類來讀取圖片。在flask_server目錄下創建一個新的文件ocr.py,寫入如下代碼:

"

轉發關注+私信小編 “資料”

就可以拿到一份我為大家準備的Python學習資料!

大佬教你如何用Python建一個OCR服務器,附視頻教程

Why?

OCR(又叫光學字符識別)已經成為Python的一個常用工具。隨著開源庫Tesseract和Ocrad的出現,越來越多的程序員用OCR來編寫自己的庫文件和bot病毒。一個OCR的小例子,如用OCR直接從截圖中提取文本,省去了重新鍵入的麻煩。

開始的步驟

開始之前,我們需要開發一個後端服務層來表示OCR引擎的結果。這樣你就可以用你喜歡的方式來向端用戶表示你的結果。本文之後將會詳細介紹。除此之外,我們還需要添加一點後端代碼來生成HTML表格,以及一些使用這些API的前段代碼。這部分本文沒有講,但是你可以參閱源代碼。


準備好開始吧!


首先,需要安裝一些依賴項。這個過程也是非常有趣的。本文已經在Ubuntu 14.04測試,但是12.x和13.x版本應該也可以。如果你用的是OSX系統,可以用VirtualBox,Docker(注意檢查有沒有包含Dockerfile和install guide),或者是DigitalOcean(推薦使用)來創建相應的環境。


下載依賴項


我們需要Tesseract及其所有依賴項,包括Leptonica及其他相關的包。注意:可以用_run.sh這個shell腳本來快速安裝Leptonica和Tesseract的依賴包。如果這麼做的話,可以直接跳到搭建Web服務器部分。但是為了學習,如果你以前沒有親手構建過庫文件的話,還是建議嘗試一下。

大佬教你如何用Python建一個OCR服務器,附視頻教程


發生了什麼?


簡單說,sudo apt-get update意思就是更新包列表。然後就能安裝一些圖像處理的包,如libtiff,libpng等等。除此之外,我們還需要安裝Python 2.7,作為我們的編程語言,以及python-imaging庫。

說起圖像,在將程序裡面編輯圖像之前我們還需要ImageMagick包。

$ sudo apt-get install imagemagick# **構建Leptonica和Tesseract**

再說一遍,如果你用_run.sh腳本已經安裝過,就可以直接跳到搭建Web服務器部分。


Leptonica


現在,開始安裝Leptonica。

大佬教你如何用Python建一個OCR服務器,附視頻教程

如果這是你第一次用tar的話,按照如下步驟操作:

1. 用wget下載Leptonica的二進制文件

2. 解壓

3. 用cd進入解壓後的文件夾

4. 運行autobuild和configure腳本安裝

5. 執行make命令build

6. Build後安裝

7. 執行ldconfig創建相關的鏈接

OK,Leptonica創建好了,接下來就是Tesseract了。


Tesseract


現在下載並安裝Tesseract吧。

大佬教你如何用Python建一個OCR服務器,附視頻教程

此處構建了一個Leptonica的映像,這部分的詳細信息參考Leptonica的解釋。


環境變量

我們需要設置一個環境變量來訪問Tesseract數據:

$ export TESSDATA_PREFIX=/usr/local/share/


Tesseract包


最後安裝一下Tesseract相關的語言包:

大佬教你如何用Python建一個OCR服務器,附視頻教程

OK,Tesseract也安裝好了,可以CLI來測試一下。更多的信息可以參考docs。但是,我們還需要一個Python環境。所以,接下來安裝一個能夠接受以下兩種請求的Flask服務器:

1. 接受圖像URL

2. 能夠對圖像進行字符識別

搭建Web服務器


最有趣的事情來了!首先,我們需要構建一種通過Python和Tesseract交互的方式。我們可以使用popen,但是那不是python的風格。所以,我們可以使用一個非常小但是功能非常強大的Python包將Tesseract封裝起來——pytesseract。想要快點的話,就運行_app.sh腳本,否則,就得獲取代碼/結構的模板,然後運行一下命令:

大佬教你如何用Python建一個OCR服務器,附視頻教程

注意:Flask模板是一個獲取簡單的具有Python風格的服務器的非常棒的庫。本文將它用來作為基本程序。


安裝OCR引擎


現在,我們需要用pytesseract來創建一個類來讀取圖片。在flask_server目錄下創建一個新的文件ocr.py,寫入如下代碼:

大佬教你如何用Python建一個OCR服務器,附視頻教程

非常好!主方法process_image()的功能是銳化圖像文本。現在,這個模塊已經可以用了。


可選項:為你的OCR引擎創建一個CLI工具


做了這麼多繁瑣配置工作,讓我們來創建一個CLI工具來調節一下心情吧。在flask_server目錄下創建一個新的文件cli.py,寫入如下代碼:

"

轉發關注+私信小編 “資料”

就可以拿到一份我為大家準備的Python學習資料!

大佬教你如何用Python建一個OCR服務器,附視頻教程

Why?

OCR(又叫光學字符識別)已經成為Python的一個常用工具。隨著開源庫Tesseract和Ocrad的出現,越來越多的程序員用OCR來編寫自己的庫文件和bot病毒。一個OCR的小例子,如用OCR直接從截圖中提取文本,省去了重新鍵入的麻煩。

開始的步驟

開始之前,我們需要開發一個後端服務層來表示OCR引擎的結果。這樣你就可以用你喜歡的方式來向端用戶表示你的結果。本文之後將會詳細介紹。除此之外,我們還需要添加一點後端代碼來生成HTML表格,以及一些使用這些API的前段代碼。這部分本文沒有講,但是你可以參閱源代碼。


準備好開始吧!


首先,需要安裝一些依賴項。這個過程也是非常有趣的。本文已經在Ubuntu 14.04測試,但是12.x和13.x版本應該也可以。如果你用的是OSX系統,可以用VirtualBox,Docker(注意檢查有沒有包含Dockerfile和install guide),或者是DigitalOcean(推薦使用)來創建相應的環境。


下載依賴項


我們需要Tesseract及其所有依賴項,包括Leptonica及其他相關的包。注意:可以用_run.sh這個shell腳本來快速安裝Leptonica和Tesseract的依賴包。如果這麼做的話,可以直接跳到搭建Web服務器部分。但是為了學習,如果你以前沒有親手構建過庫文件的話,還是建議嘗試一下。

大佬教你如何用Python建一個OCR服務器,附視頻教程


發生了什麼?


簡單說,sudo apt-get update意思就是更新包列表。然後就能安裝一些圖像處理的包,如libtiff,libpng等等。除此之外,我們還需要安裝Python 2.7,作為我們的編程語言,以及python-imaging庫。

說起圖像,在將程序裡面編輯圖像之前我們還需要ImageMagick包。

$ sudo apt-get install imagemagick# **構建Leptonica和Tesseract**

再說一遍,如果你用_run.sh腳本已經安裝過,就可以直接跳到搭建Web服務器部分。


Leptonica


現在,開始安裝Leptonica。

大佬教你如何用Python建一個OCR服務器,附視頻教程

如果這是你第一次用tar的話,按照如下步驟操作:

1. 用wget下載Leptonica的二進制文件

2. 解壓

3. 用cd進入解壓後的文件夾

4. 運行autobuild和configure腳本安裝

5. 執行make命令build

6. Build後安裝

7. 執行ldconfig創建相關的鏈接

OK,Leptonica創建好了,接下來就是Tesseract了。


Tesseract


現在下載並安裝Tesseract吧。

大佬教你如何用Python建一個OCR服務器,附視頻教程

此處構建了一個Leptonica的映像,這部分的詳細信息參考Leptonica的解釋。


環境變量

我們需要設置一個環境變量來訪問Tesseract數據:

$ export TESSDATA_PREFIX=/usr/local/share/


Tesseract包


最後安裝一下Tesseract相關的語言包:

大佬教你如何用Python建一個OCR服務器,附視頻教程

OK,Tesseract也安裝好了,可以CLI來測試一下。更多的信息可以參考docs。但是,我們還需要一個Python環境。所以,接下來安裝一個能夠接受以下兩種請求的Flask服務器:

1. 接受圖像URL

2. 能夠對圖像進行字符識別

搭建Web服務器


最有趣的事情來了!首先,我們需要構建一種通過Python和Tesseract交互的方式。我們可以使用popen,但是那不是python的風格。所以,我們可以使用一個非常小但是功能非常強大的Python包將Tesseract封裝起來——pytesseract。想要快點的話,就運行_app.sh腳本,否則,就得獲取代碼/結構的模板,然後運行一下命令:

大佬教你如何用Python建一個OCR服務器,附視頻教程

注意:Flask模板是一個獲取簡單的具有Python風格的服務器的非常棒的庫。本文將它用來作為基本程序。


安裝OCR引擎


現在,我們需要用pytesseract來創建一個類來讀取圖片。在flask_server目錄下創建一個新的文件ocr.py,寫入如下代碼:

大佬教你如何用Python建一個OCR服務器,附視頻教程

非常好!主方法process_image()的功能是銳化圖像文本。現在,這個模塊已經可以用了。


可選項:為你的OCR引擎創建一個CLI工具


做了這麼多繁瑣配置工作,讓我們來創建一個CLI工具來調節一下心情吧。在flask_server目錄下創建一個新的文件cli.py,寫入如下代碼:

大佬教你如何用Python建一個OCR服務器,附視頻教程

非常簡單。之後我們就能看到從我們的OCR引擎中輸出到標準輸出STDOUT上的文本了。執行python flask_server/cli.py來試一下吧。

回到服務器


既然我們已經安裝好了OCR引擎,接下來該準備輸出了。講下面的代碼加入到app.py文件:

"

轉發關注+私信小編 “資料”

就可以拿到一份我為大家準備的Python學習資料!

大佬教你如何用Python建一個OCR服務器,附視頻教程

Why?

OCR(又叫光學字符識別)已經成為Python的一個常用工具。隨著開源庫Tesseract和Ocrad的出現,越來越多的程序員用OCR來編寫自己的庫文件和bot病毒。一個OCR的小例子,如用OCR直接從截圖中提取文本,省去了重新鍵入的麻煩。

開始的步驟

開始之前,我們需要開發一個後端服務層來表示OCR引擎的結果。這樣你就可以用你喜歡的方式來向端用戶表示你的結果。本文之後將會詳細介紹。除此之外,我們還需要添加一點後端代碼來生成HTML表格,以及一些使用這些API的前段代碼。這部分本文沒有講,但是你可以參閱源代碼。


準備好開始吧!


首先,需要安裝一些依賴項。這個過程也是非常有趣的。本文已經在Ubuntu 14.04測試,但是12.x和13.x版本應該也可以。如果你用的是OSX系統,可以用VirtualBox,Docker(注意檢查有沒有包含Dockerfile和install guide),或者是DigitalOcean(推薦使用)來創建相應的環境。


下載依賴項


我們需要Tesseract及其所有依賴項,包括Leptonica及其他相關的包。注意:可以用_run.sh這個shell腳本來快速安裝Leptonica和Tesseract的依賴包。如果這麼做的話,可以直接跳到搭建Web服務器部分。但是為了學習,如果你以前沒有親手構建過庫文件的話,還是建議嘗試一下。

大佬教你如何用Python建一個OCR服務器,附視頻教程


發生了什麼?


簡單說,sudo apt-get update意思就是更新包列表。然後就能安裝一些圖像處理的包,如libtiff,libpng等等。除此之外,我們還需要安裝Python 2.7,作為我們的編程語言,以及python-imaging庫。

說起圖像,在將程序裡面編輯圖像之前我們還需要ImageMagick包。

$ sudo apt-get install imagemagick# **構建Leptonica和Tesseract**

再說一遍,如果你用_run.sh腳本已經安裝過,就可以直接跳到搭建Web服務器部分。


Leptonica


現在,開始安裝Leptonica。

大佬教你如何用Python建一個OCR服務器,附視頻教程

如果這是你第一次用tar的話,按照如下步驟操作:

1. 用wget下載Leptonica的二進制文件

2. 解壓

3. 用cd進入解壓後的文件夾

4. 運行autobuild和configure腳本安裝

5. 執行make命令build

6. Build後安裝

7. 執行ldconfig創建相關的鏈接

OK,Leptonica創建好了,接下來就是Tesseract了。


Tesseract


現在下載並安裝Tesseract吧。

大佬教你如何用Python建一個OCR服務器,附視頻教程

此處構建了一個Leptonica的映像,這部分的詳細信息參考Leptonica的解釋。


環境變量

我們需要設置一個環境變量來訪問Tesseract數據:

$ export TESSDATA_PREFIX=/usr/local/share/


Tesseract包


最後安裝一下Tesseract相關的語言包:

大佬教你如何用Python建一個OCR服務器,附視頻教程

OK,Tesseract也安裝好了,可以CLI來測試一下。更多的信息可以參考docs。但是,我們還需要一個Python環境。所以,接下來安裝一個能夠接受以下兩種請求的Flask服務器:

1. 接受圖像URL

2. 能夠對圖像進行字符識別

搭建Web服務器


最有趣的事情來了!首先,我們需要構建一種通過Python和Tesseract交互的方式。我們可以使用popen,但是那不是python的風格。所以,我們可以使用一個非常小但是功能非常強大的Python包將Tesseract封裝起來——pytesseract。想要快點的話,就運行_app.sh腳本,否則,就得獲取代碼/結構的模板,然後運行一下命令:

大佬教你如何用Python建一個OCR服務器,附視頻教程

注意:Flask模板是一個獲取簡單的具有Python風格的服務器的非常棒的庫。本文將它用來作為基本程序。


安裝OCR引擎


現在,我們需要用pytesseract來創建一個類來讀取圖片。在flask_server目錄下創建一個新的文件ocr.py,寫入如下代碼:

大佬教你如何用Python建一個OCR服務器,附視頻教程

非常好!主方法process_image()的功能是銳化圖像文本。現在,這個模塊已經可以用了。


可選項:為你的OCR引擎創建一個CLI工具


做了這麼多繁瑣配置工作,讓我們來創建一個CLI工具來調節一下心情吧。在flask_server目錄下創建一個新的文件cli.py,寫入如下代碼:

大佬教你如何用Python建一個OCR服務器,附視頻教程

非常簡單。之後我們就能看到從我們的OCR引擎中輸出到標準輸出STDOUT上的文本了。執行python flask_server/cli.py來試一下吧。

回到服務器


既然我們已經安裝好了OCR引擎,接下來該準備輸出了。講下面的代碼加入到app.py文件:

大佬教你如何用Python建一個OCR服務器,附視頻教程

確保引入的下列包是最新的:

"

轉發關注+私信小編 “資料”

就可以拿到一份我為大家準備的Python學習資料!

大佬教你如何用Python建一個OCR服務器,附視頻教程

Why?

OCR(又叫光學字符識別)已經成為Python的一個常用工具。隨著開源庫Tesseract和Ocrad的出現,越來越多的程序員用OCR來編寫自己的庫文件和bot病毒。一個OCR的小例子,如用OCR直接從截圖中提取文本,省去了重新鍵入的麻煩。

開始的步驟

開始之前,我們需要開發一個後端服務層來表示OCR引擎的結果。這樣你就可以用你喜歡的方式來向端用戶表示你的結果。本文之後將會詳細介紹。除此之外,我們還需要添加一點後端代碼來生成HTML表格,以及一些使用這些API的前段代碼。這部分本文沒有講,但是你可以參閱源代碼。


準備好開始吧!


首先,需要安裝一些依賴項。這個過程也是非常有趣的。本文已經在Ubuntu 14.04測試,但是12.x和13.x版本應該也可以。如果你用的是OSX系統,可以用VirtualBox,Docker(注意檢查有沒有包含Dockerfile和install guide),或者是DigitalOcean(推薦使用)來創建相應的環境。


下載依賴項


我們需要Tesseract及其所有依賴項,包括Leptonica及其他相關的包。注意:可以用_run.sh這個shell腳本來快速安裝Leptonica和Tesseract的依賴包。如果這麼做的話,可以直接跳到搭建Web服務器部分。但是為了學習,如果你以前沒有親手構建過庫文件的話,還是建議嘗試一下。

大佬教你如何用Python建一個OCR服務器,附視頻教程


發生了什麼?


簡單說,sudo apt-get update意思就是更新包列表。然後就能安裝一些圖像處理的包,如libtiff,libpng等等。除此之外,我們還需要安裝Python 2.7,作為我們的編程語言,以及python-imaging庫。

說起圖像,在將程序裡面編輯圖像之前我們還需要ImageMagick包。

$ sudo apt-get install imagemagick# **構建Leptonica和Tesseract**

再說一遍,如果你用_run.sh腳本已經安裝過,就可以直接跳到搭建Web服務器部分。


Leptonica


現在,開始安裝Leptonica。

大佬教你如何用Python建一個OCR服務器,附視頻教程

如果這是你第一次用tar的話,按照如下步驟操作:

1. 用wget下載Leptonica的二進制文件

2. 解壓

3. 用cd進入解壓後的文件夾

4. 運行autobuild和configure腳本安裝

5. 執行make命令build

6. Build後安裝

7. 執行ldconfig創建相關的鏈接

OK,Leptonica創建好了,接下來就是Tesseract了。


Tesseract


現在下載並安裝Tesseract吧。

大佬教你如何用Python建一個OCR服務器,附視頻教程

此處構建了一個Leptonica的映像,這部分的詳細信息參考Leptonica的解釋。


環境變量

我們需要設置一個環境變量來訪問Tesseract數據:

$ export TESSDATA_PREFIX=/usr/local/share/


Tesseract包


最後安裝一下Tesseract相關的語言包:

大佬教你如何用Python建一個OCR服務器,附視頻教程

OK,Tesseract也安裝好了,可以CLI來測試一下。更多的信息可以參考docs。但是,我們還需要一個Python環境。所以,接下來安裝一個能夠接受以下兩種請求的Flask服務器:

1. 接受圖像URL

2. 能夠對圖像進行字符識別

搭建Web服務器


最有趣的事情來了!首先,我們需要構建一種通過Python和Tesseract交互的方式。我們可以使用popen,但是那不是python的風格。所以,我們可以使用一個非常小但是功能非常強大的Python包將Tesseract封裝起來——pytesseract。想要快點的話,就運行_app.sh腳本,否則,就得獲取代碼/結構的模板,然後運行一下命令:

大佬教你如何用Python建一個OCR服務器,附視頻教程

注意:Flask模板是一個獲取簡單的具有Python風格的服務器的非常棒的庫。本文將它用來作為基本程序。


安裝OCR引擎


現在,我們需要用pytesseract來創建一個類來讀取圖片。在flask_server目錄下創建一個新的文件ocr.py,寫入如下代碼:

大佬教你如何用Python建一個OCR服務器,附視頻教程

非常好!主方法process_image()的功能是銳化圖像文本。現在,這個模塊已經可以用了。


可選項:為你的OCR引擎創建一個CLI工具


做了這麼多繁瑣配置工作,讓我們來創建一個CLI工具來調節一下心情吧。在flask_server目錄下創建一個新的文件cli.py,寫入如下代碼:

大佬教你如何用Python建一個OCR服務器,附視頻教程

非常簡單。之後我們就能看到從我們的OCR引擎中輸出到標準輸出STDOUT上的文本了。執行python flask_server/cli.py來試一下吧。

回到服務器


既然我們已經安裝好了OCR引擎,接下來該準備輸出了。講下面的代碼加入到app.py文件:

大佬教你如何用Python建一個OCR服務器,附視頻教程

確保引入的下列包是最新的:

大佬教你如何用Python建一個OCR服務器,附視頻教程

最後,添加一行API版本號:

_VERSION = 1 # API version

從代碼中可以看到,我們以PIL中Image文件對象的方式把JSON的響應傳入引擎的process_image()方法中。並且,就目前而言,它只支持.jpg圖片。

注意:如果PIL包沒有安裝的話,可以用Pillow包來代替。PIL有一些問題還沒有解決,Python社區對它的看法也不統一,詳細情況可以自行Google。

測試


運行你的程序:

"

轉發關注+私信小編 “資料”

就可以拿到一份我為大家準備的Python學習資料!

大佬教你如何用Python建一個OCR服務器,附視頻教程

Why?

OCR(又叫光學字符識別)已經成為Python的一個常用工具。隨著開源庫Tesseract和Ocrad的出現,越來越多的程序員用OCR來編寫自己的庫文件和bot病毒。一個OCR的小例子,如用OCR直接從截圖中提取文本,省去了重新鍵入的麻煩。

開始的步驟

開始之前,我們需要開發一個後端服務層來表示OCR引擎的結果。這樣你就可以用你喜歡的方式來向端用戶表示你的結果。本文之後將會詳細介紹。除此之外,我們還需要添加一點後端代碼來生成HTML表格,以及一些使用這些API的前段代碼。這部分本文沒有講,但是你可以參閱源代碼。


準備好開始吧!


首先,需要安裝一些依賴項。這個過程也是非常有趣的。本文已經在Ubuntu 14.04測試,但是12.x和13.x版本應該也可以。如果你用的是OSX系統,可以用VirtualBox,Docker(注意檢查有沒有包含Dockerfile和install guide),或者是DigitalOcean(推薦使用)來創建相應的環境。


下載依賴項


我們需要Tesseract及其所有依賴項,包括Leptonica及其他相關的包。注意:可以用_run.sh這個shell腳本來快速安裝Leptonica和Tesseract的依賴包。如果這麼做的話,可以直接跳到搭建Web服務器部分。但是為了學習,如果你以前沒有親手構建過庫文件的話,還是建議嘗試一下。

大佬教你如何用Python建一個OCR服務器,附視頻教程


發生了什麼?


簡單說,sudo apt-get update意思就是更新包列表。然後就能安裝一些圖像處理的包,如libtiff,libpng等等。除此之外,我們還需要安裝Python 2.7,作為我們的編程語言,以及python-imaging庫。

說起圖像,在將程序裡面編輯圖像之前我們還需要ImageMagick包。

$ sudo apt-get install imagemagick# **構建Leptonica和Tesseract**

再說一遍,如果你用_run.sh腳本已經安裝過,就可以直接跳到搭建Web服務器部分。


Leptonica


現在,開始安裝Leptonica。

大佬教你如何用Python建一個OCR服務器,附視頻教程

如果這是你第一次用tar的話,按照如下步驟操作:

1. 用wget下載Leptonica的二進制文件

2. 解壓

3. 用cd進入解壓後的文件夾

4. 運行autobuild和configure腳本安裝

5. 執行make命令build

6. Build後安裝

7. 執行ldconfig創建相關的鏈接

OK,Leptonica創建好了,接下來就是Tesseract了。


Tesseract


現在下載並安裝Tesseract吧。

大佬教你如何用Python建一個OCR服務器,附視頻教程

此處構建了一個Leptonica的映像,這部分的詳細信息參考Leptonica的解釋。


環境變量

我們需要設置一個環境變量來訪問Tesseract數據:

$ export TESSDATA_PREFIX=/usr/local/share/


Tesseract包


最後安裝一下Tesseract相關的語言包:

大佬教你如何用Python建一個OCR服務器,附視頻教程

OK,Tesseract也安裝好了,可以CLI來測試一下。更多的信息可以參考docs。但是,我們還需要一個Python環境。所以,接下來安裝一個能夠接受以下兩種請求的Flask服務器:

1. 接受圖像URL

2. 能夠對圖像進行字符識別

搭建Web服務器


最有趣的事情來了!首先,我們需要構建一種通過Python和Tesseract交互的方式。我們可以使用popen,但是那不是python的風格。所以,我們可以使用一個非常小但是功能非常強大的Python包將Tesseract封裝起來——pytesseract。想要快點的話,就運行_app.sh腳本,否則,就得獲取代碼/結構的模板,然後運行一下命令:

大佬教你如何用Python建一個OCR服務器,附視頻教程

注意:Flask模板是一個獲取簡單的具有Python風格的服務器的非常棒的庫。本文將它用來作為基本程序。


安裝OCR引擎


現在,我們需要用pytesseract來創建一個類來讀取圖片。在flask_server目錄下創建一個新的文件ocr.py,寫入如下代碼:

大佬教你如何用Python建一個OCR服務器,附視頻教程

非常好!主方法process_image()的功能是銳化圖像文本。現在,這個模塊已經可以用了。


可選項:為你的OCR引擎創建一個CLI工具


做了這麼多繁瑣配置工作,讓我們來創建一個CLI工具來調節一下心情吧。在flask_server目錄下創建一個新的文件cli.py,寫入如下代碼:

大佬教你如何用Python建一個OCR服務器,附視頻教程

非常簡單。之後我們就能看到從我們的OCR引擎中輸出到標準輸出STDOUT上的文本了。執行python flask_server/cli.py來試一下吧。

回到服務器


既然我們已經安裝好了OCR引擎,接下來該準備輸出了。講下面的代碼加入到app.py文件:

大佬教你如何用Python建一個OCR服務器,附視頻教程

確保引入的下列包是最新的:

大佬教你如何用Python建一個OCR服務器,附視頻教程

最後,添加一行API版本號:

_VERSION = 1 # API version

從代碼中可以看到,我們以PIL中Image文件對象的方式把JSON的響應傳入引擎的process_image()方法中。並且,就目前而言,它只支持.jpg圖片。

注意:如果PIL包沒有安裝的話,可以用Pillow包來代替。PIL有一些問題還沒有解決,Python社區對它的看法也不統一,詳細情況可以自行Google。

測試


運行你的程序:

大佬教你如何用Python建一個OCR服務器,附視頻教程

然後,在另外一個終端運行:

$ curl -X POST http://localhost:5000/v1/ocr -d '{"image_url": "some_url"}' -H "Content-Type: application/json"

例子

"

轉發關注+私信小編 “資料”

就可以拿到一份我為大家準備的Python學習資料!

大佬教你如何用Python建一個OCR服務器,附視頻教程

Why?

OCR(又叫光學字符識別)已經成為Python的一個常用工具。隨著開源庫Tesseract和Ocrad的出現,越來越多的程序員用OCR來編寫自己的庫文件和bot病毒。一個OCR的小例子,如用OCR直接從截圖中提取文本,省去了重新鍵入的麻煩。

開始的步驟

開始之前,我們需要開發一個後端服務層來表示OCR引擎的結果。這樣你就可以用你喜歡的方式來向端用戶表示你的結果。本文之後將會詳細介紹。除此之外,我們還需要添加一點後端代碼來生成HTML表格,以及一些使用這些API的前段代碼。這部分本文沒有講,但是你可以參閱源代碼。


準備好開始吧!


首先,需要安裝一些依賴項。這個過程也是非常有趣的。本文已經在Ubuntu 14.04測試,但是12.x和13.x版本應該也可以。如果你用的是OSX系統,可以用VirtualBox,Docker(注意檢查有沒有包含Dockerfile和install guide),或者是DigitalOcean(推薦使用)來創建相應的環境。


下載依賴項


我們需要Tesseract及其所有依賴項,包括Leptonica及其他相關的包。注意:可以用_run.sh這個shell腳本來快速安裝Leptonica和Tesseract的依賴包。如果這麼做的話,可以直接跳到搭建Web服務器部分。但是為了學習,如果你以前沒有親手構建過庫文件的話,還是建議嘗試一下。

大佬教你如何用Python建一個OCR服務器,附視頻教程


發生了什麼?


簡單說,sudo apt-get update意思就是更新包列表。然後就能安裝一些圖像處理的包,如libtiff,libpng等等。除此之外,我們還需要安裝Python 2.7,作為我們的編程語言,以及python-imaging庫。

說起圖像,在將程序裡面編輯圖像之前我們還需要ImageMagick包。

$ sudo apt-get install imagemagick# **構建Leptonica和Tesseract**

再說一遍,如果你用_run.sh腳本已經安裝過,就可以直接跳到搭建Web服務器部分。


Leptonica


現在,開始安裝Leptonica。

大佬教你如何用Python建一個OCR服務器,附視頻教程

如果這是你第一次用tar的話,按照如下步驟操作:

1. 用wget下載Leptonica的二進制文件

2. 解壓

3. 用cd進入解壓後的文件夾

4. 運行autobuild和configure腳本安裝

5. 執行make命令build

6. Build後安裝

7. 執行ldconfig創建相關的鏈接

OK,Leptonica創建好了,接下來就是Tesseract了。


Tesseract


現在下載並安裝Tesseract吧。

大佬教你如何用Python建一個OCR服務器,附視頻教程

此處構建了一個Leptonica的映像,這部分的詳細信息參考Leptonica的解釋。


環境變量

我們需要設置一個環境變量來訪問Tesseract數據:

$ export TESSDATA_PREFIX=/usr/local/share/


Tesseract包


最後安裝一下Tesseract相關的語言包:

大佬教你如何用Python建一個OCR服務器,附視頻教程

OK,Tesseract也安裝好了,可以CLI來測試一下。更多的信息可以參考docs。但是,我們還需要一個Python環境。所以,接下來安裝一個能夠接受以下兩種請求的Flask服務器:

1. 接受圖像URL

2. 能夠對圖像進行字符識別

搭建Web服務器


最有趣的事情來了!首先,我們需要構建一種通過Python和Tesseract交互的方式。我們可以使用popen,但是那不是python的風格。所以,我們可以使用一個非常小但是功能非常強大的Python包將Tesseract封裝起來——pytesseract。想要快點的話,就運行_app.sh腳本,否則,就得獲取代碼/結構的模板,然後運行一下命令:

大佬教你如何用Python建一個OCR服務器,附視頻教程

注意:Flask模板是一個獲取簡單的具有Python風格的服務器的非常棒的庫。本文將它用來作為基本程序。


安裝OCR引擎


現在,我們需要用pytesseract來創建一個類來讀取圖片。在flask_server目錄下創建一個新的文件ocr.py,寫入如下代碼:

大佬教你如何用Python建一個OCR服務器,附視頻教程

非常好!主方法process_image()的功能是銳化圖像文本。現在,這個模塊已經可以用了。


可選項:為你的OCR引擎創建一個CLI工具


做了這麼多繁瑣配置工作,讓我們來創建一個CLI工具來調節一下心情吧。在flask_server目錄下創建一個新的文件cli.py,寫入如下代碼:

大佬教你如何用Python建一個OCR服務器,附視頻教程

非常簡單。之後我們就能看到從我們的OCR引擎中輸出到標準輸出STDOUT上的文本了。執行python flask_server/cli.py來試一下吧。

回到服務器


既然我們已經安裝好了OCR引擎,接下來該準備輸出了。講下面的代碼加入到app.py文件:

大佬教你如何用Python建一個OCR服務器,附視頻教程

確保引入的下列包是最新的:

大佬教你如何用Python建一個OCR服務器,附視頻教程

最後,添加一行API版本號:

_VERSION = 1 # API version

從代碼中可以看到,我們以PIL中Image文件對象的方式把JSON的響應傳入引擎的process_image()方法中。並且,就目前而言,它只支持.jpg圖片。

注意:如果PIL包沒有安裝的話,可以用Pillow包來代替。PIL有一些問題還沒有解決,Python社區對它的看法也不統一,詳細情況可以自行Google。

測試


運行你的程序:

大佬教你如何用Python建一個OCR服務器,附視頻教程

然後,在另外一個終端運行:

$ curl -X POST http://localhost:5000/v1/ocr -d '{"image_url": "some_url"}' -H "Content-Type: application/json"

例子

大佬教你如何用Python建一個OCR服務器,附視頻教程

前端


現在後端OCR引擎的API已經準備好了,我們可以增加一個基本的前端來使用這些API,並將結果通過AJAX和jQuery添加到DOM中。這部分內容本文就不講了。

"

轉發關注+私信小編 “資料”

就可以拿到一份我為大家準備的Python學習資料!

大佬教你如何用Python建一個OCR服務器,附視頻教程

Why?

OCR(又叫光學字符識別)已經成為Python的一個常用工具。隨著開源庫Tesseract和Ocrad的出現,越來越多的程序員用OCR來編寫自己的庫文件和bot病毒。一個OCR的小例子,如用OCR直接從截圖中提取文本,省去了重新鍵入的麻煩。

開始的步驟

開始之前,我們需要開發一個後端服務層來表示OCR引擎的結果。這樣你就可以用你喜歡的方式來向端用戶表示你的結果。本文之後將會詳細介紹。除此之外,我們還需要添加一點後端代碼來生成HTML表格,以及一些使用這些API的前段代碼。這部分本文沒有講,但是你可以參閱源代碼。


準備好開始吧!


首先,需要安裝一些依賴項。這個過程也是非常有趣的。本文已經在Ubuntu 14.04測試,但是12.x和13.x版本應該也可以。如果你用的是OSX系統,可以用VirtualBox,Docker(注意檢查有沒有包含Dockerfile和install guide),或者是DigitalOcean(推薦使用)來創建相應的環境。


下載依賴項


我們需要Tesseract及其所有依賴項,包括Leptonica及其他相關的包。注意:可以用_run.sh這個shell腳本來快速安裝Leptonica和Tesseract的依賴包。如果這麼做的話,可以直接跳到搭建Web服務器部分。但是為了學習,如果你以前沒有親手構建過庫文件的話,還是建議嘗試一下。

大佬教你如何用Python建一個OCR服務器,附視頻教程


發生了什麼?


簡單說,sudo apt-get update意思就是更新包列表。然後就能安裝一些圖像處理的包,如libtiff,libpng等等。除此之外,我們還需要安裝Python 2.7,作為我們的編程語言,以及python-imaging庫。

說起圖像,在將程序裡面編輯圖像之前我們還需要ImageMagick包。

$ sudo apt-get install imagemagick# **構建Leptonica和Tesseract**

再說一遍,如果你用_run.sh腳本已經安裝過,就可以直接跳到搭建Web服務器部分。


Leptonica


現在,開始安裝Leptonica。

大佬教你如何用Python建一個OCR服務器,附視頻教程

如果這是你第一次用tar的話,按照如下步驟操作:

1. 用wget下載Leptonica的二進制文件

2. 解壓

3. 用cd進入解壓後的文件夾

4. 運行autobuild和configure腳本安裝

5. 執行make命令build

6. Build後安裝

7. 執行ldconfig創建相關的鏈接

OK,Leptonica創建好了,接下來就是Tesseract了。


Tesseract


現在下載並安裝Tesseract吧。

大佬教你如何用Python建一個OCR服務器,附視頻教程

此處構建了一個Leptonica的映像,這部分的詳細信息參考Leptonica的解釋。


環境變量

我們需要設置一個環境變量來訪問Tesseract數據:

$ export TESSDATA_PREFIX=/usr/local/share/


Tesseract包


最後安裝一下Tesseract相關的語言包:

大佬教你如何用Python建一個OCR服務器,附視頻教程

OK,Tesseract也安裝好了,可以CLI來測試一下。更多的信息可以參考docs。但是,我們還需要一個Python環境。所以,接下來安裝一個能夠接受以下兩種請求的Flask服務器:

1. 接受圖像URL

2. 能夠對圖像進行字符識別

搭建Web服務器


最有趣的事情來了!首先,我們需要構建一種通過Python和Tesseract交互的方式。我們可以使用popen,但是那不是python的風格。所以,我們可以使用一個非常小但是功能非常強大的Python包將Tesseract封裝起來——pytesseract。想要快點的話,就運行_app.sh腳本,否則,就得獲取代碼/結構的模板,然後運行一下命令:

大佬教你如何用Python建一個OCR服務器,附視頻教程

注意:Flask模板是一個獲取簡單的具有Python風格的服務器的非常棒的庫。本文將它用來作為基本程序。


安裝OCR引擎


現在,我們需要用pytesseract來創建一個類來讀取圖片。在flask_server目錄下創建一個新的文件ocr.py,寫入如下代碼:

大佬教你如何用Python建一個OCR服務器,附視頻教程

非常好!主方法process_image()的功能是銳化圖像文本。現在,這個模塊已經可以用了。


可選項:為你的OCR引擎創建一個CLI工具


做了這麼多繁瑣配置工作,讓我們來創建一個CLI工具來調節一下心情吧。在flask_server目錄下創建一個新的文件cli.py,寫入如下代碼:

大佬教你如何用Python建一個OCR服務器,附視頻教程

非常簡單。之後我們就能看到從我們的OCR引擎中輸出到標準輸出STDOUT上的文本了。執行python flask_server/cli.py來試一下吧。

回到服務器


既然我們已經安裝好了OCR引擎,接下來該準備輸出了。講下面的代碼加入到app.py文件:

大佬教你如何用Python建一個OCR服務器,附視頻教程

確保引入的下列包是最新的:

大佬教你如何用Python建一個OCR服務器,附視頻教程

最後,添加一行API版本號:

_VERSION = 1 # API version

從代碼中可以看到,我們以PIL中Image文件對象的方式把JSON的響應傳入引擎的process_image()方法中。並且,就目前而言,它只支持.jpg圖片。

注意:如果PIL包沒有安裝的話,可以用Pillow包來代替。PIL有一些問題還沒有解決,Python社區對它的看法也不統一,詳細情況可以自行Google。

測試


運行你的程序:

大佬教你如何用Python建一個OCR服務器,附視頻教程

然後,在另外一個終端運行:

$ curl -X POST http://localhost:5000/v1/ocr -d '{"image_url": "some_url"}' -H "Content-Type: application/json"

例子

大佬教你如何用Python建一個OCR服務器,附視頻教程

前端


現在後端OCR引擎的API已經準備好了,我們可以增加一個基本的前端來使用這些API,並將結果通過AJAX和jQuery添加到DOM中。這部分內容本文就不講了。

大佬教你如何用Python建一個OCR服務器,附視頻教程

用下面的樣本來測試一下:

"

轉發關注+私信小編 “資料”

就可以拿到一份我為大家準備的Python學習資料!

大佬教你如何用Python建一個OCR服務器,附視頻教程

Why?

OCR(又叫光學字符識別)已經成為Python的一個常用工具。隨著開源庫Tesseract和Ocrad的出現,越來越多的程序員用OCR來編寫自己的庫文件和bot病毒。一個OCR的小例子,如用OCR直接從截圖中提取文本,省去了重新鍵入的麻煩。

開始的步驟

開始之前,我們需要開發一個後端服務層來表示OCR引擎的結果。這樣你就可以用你喜歡的方式來向端用戶表示你的結果。本文之後將會詳細介紹。除此之外,我們還需要添加一點後端代碼來生成HTML表格,以及一些使用這些API的前段代碼。這部分本文沒有講,但是你可以參閱源代碼。


準備好開始吧!


首先,需要安裝一些依賴項。這個過程也是非常有趣的。本文已經在Ubuntu 14.04測試,但是12.x和13.x版本應該也可以。如果你用的是OSX系統,可以用VirtualBox,Docker(注意檢查有沒有包含Dockerfile和install guide),或者是DigitalOcean(推薦使用)來創建相應的環境。


下載依賴項


我們需要Tesseract及其所有依賴項,包括Leptonica及其他相關的包。注意:可以用_run.sh這個shell腳本來快速安裝Leptonica和Tesseract的依賴包。如果這麼做的話,可以直接跳到搭建Web服務器部分。但是為了學習,如果你以前沒有親手構建過庫文件的話,還是建議嘗試一下。

大佬教你如何用Python建一個OCR服務器,附視頻教程


發生了什麼?


簡單說,sudo apt-get update意思就是更新包列表。然後就能安裝一些圖像處理的包,如libtiff,libpng等等。除此之外,我們還需要安裝Python 2.7,作為我們的編程語言,以及python-imaging庫。

說起圖像,在將程序裡面編輯圖像之前我們還需要ImageMagick包。

$ sudo apt-get install imagemagick# **構建Leptonica和Tesseract**

再說一遍,如果你用_run.sh腳本已經安裝過,就可以直接跳到搭建Web服務器部分。


Leptonica


現在,開始安裝Leptonica。

大佬教你如何用Python建一個OCR服務器,附視頻教程

如果這是你第一次用tar的話,按照如下步驟操作:

1. 用wget下載Leptonica的二進制文件

2. 解壓

3. 用cd進入解壓後的文件夾

4. 運行autobuild和configure腳本安裝

5. 執行make命令build

6. Build後安裝

7. 執行ldconfig創建相關的鏈接

OK,Leptonica創建好了,接下來就是Tesseract了。


Tesseract


現在下載並安裝Tesseract吧。

大佬教你如何用Python建一個OCR服務器,附視頻教程

此處構建了一個Leptonica的映像,這部分的詳細信息參考Leptonica的解釋。


環境變量

我們需要設置一個環境變量來訪問Tesseract數據:

$ export TESSDATA_PREFIX=/usr/local/share/


Tesseract包


最後安裝一下Tesseract相關的語言包:

大佬教你如何用Python建一個OCR服務器,附視頻教程

OK,Tesseract也安裝好了,可以CLI來測試一下。更多的信息可以參考docs。但是,我們還需要一個Python環境。所以,接下來安裝一個能夠接受以下兩種請求的Flask服務器:

1. 接受圖像URL

2. 能夠對圖像進行字符識別

搭建Web服務器


最有趣的事情來了!首先,我們需要構建一種通過Python和Tesseract交互的方式。我們可以使用popen,但是那不是python的風格。所以,我們可以使用一個非常小但是功能非常強大的Python包將Tesseract封裝起來——pytesseract。想要快點的話,就運行_app.sh腳本,否則,就得獲取代碼/結構的模板,然後運行一下命令:

大佬教你如何用Python建一個OCR服務器,附視頻教程

注意:Flask模板是一個獲取簡單的具有Python風格的服務器的非常棒的庫。本文將它用來作為基本程序。


安裝OCR引擎


現在,我們需要用pytesseract來創建一個類來讀取圖片。在flask_server目錄下創建一個新的文件ocr.py,寫入如下代碼:

大佬教你如何用Python建一個OCR服務器,附視頻教程

非常好!主方法process_image()的功能是銳化圖像文本。現在,這個模塊已經可以用了。


可選項:為你的OCR引擎創建一個CLI工具


做了這麼多繁瑣配置工作,讓我們來創建一個CLI工具來調節一下心情吧。在flask_server目錄下創建一個新的文件cli.py,寫入如下代碼:

大佬教你如何用Python建一個OCR服務器,附視頻教程

非常簡單。之後我們就能看到從我們的OCR引擎中輸出到標準輸出STDOUT上的文本了。執行python flask_server/cli.py來試一下吧。

回到服務器


既然我們已經安裝好了OCR引擎,接下來該準備輸出了。講下面的代碼加入到app.py文件:

大佬教你如何用Python建一個OCR服務器,附視頻教程

確保引入的下列包是最新的:

大佬教你如何用Python建一個OCR服務器,附視頻教程

最後,添加一行API版本號:

_VERSION = 1 # API version

從代碼中可以看到,我們以PIL中Image文件對象的方式把JSON的響應傳入引擎的process_image()方法中。並且,就目前而言,它只支持.jpg圖片。

注意:如果PIL包沒有安裝的話,可以用Pillow包來代替。PIL有一些問題還沒有解決,Python社區對它的看法也不統一,詳細情況可以自行Google。

測試


運行你的程序:

大佬教你如何用Python建一個OCR服務器,附視頻教程

然後,在另外一個終端運行:

$ curl -X POST http://localhost:5000/v1/ocr -d '{"image_url": "some_url"}' -H "Content-Type: application/json"

例子

大佬教你如何用Python建一個OCR服務器,附視頻教程

前端


現在後端OCR引擎的API已經準備好了,我們可以增加一個基本的前端來使用這些API,並將結果通過AJAX和jQuery添加到DOM中。這部分內容本文就不講了。

大佬教你如何用Python建一個OCR服務器,附視頻教程

用下面的樣本來測試一下:

大佬教你如何用Python建一個OCR服務器,附視頻教程

最後,想學習Python的小夥伴們!

請關注+私信回覆:“資料”就可以拿到一份我為大家準備的Python學習資料!

"

轉發關注+私信小編 “資料”

就可以拿到一份我為大家準備的Python學習資料!

大佬教你如何用Python建一個OCR服務器,附視頻教程

Why?

OCR(又叫光學字符識別)已經成為Python的一個常用工具。隨著開源庫Tesseract和Ocrad的出現,越來越多的程序員用OCR來編寫自己的庫文件和bot病毒。一個OCR的小例子,如用OCR直接從截圖中提取文本,省去了重新鍵入的麻煩。

開始的步驟

開始之前,我們需要開發一個後端服務層來表示OCR引擎的結果。這樣你就可以用你喜歡的方式來向端用戶表示你的結果。本文之後將會詳細介紹。除此之外,我們還需要添加一點後端代碼來生成HTML表格,以及一些使用這些API的前段代碼。這部分本文沒有講,但是你可以參閱源代碼。


準備好開始吧!


首先,需要安裝一些依賴項。這個過程也是非常有趣的。本文已經在Ubuntu 14.04測試,但是12.x和13.x版本應該也可以。如果你用的是OSX系統,可以用VirtualBox,Docker(注意檢查有沒有包含Dockerfile和install guide),或者是DigitalOcean(推薦使用)來創建相應的環境。


下載依賴項


我們需要Tesseract及其所有依賴項,包括Leptonica及其他相關的包。注意:可以用_run.sh這個shell腳本來快速安裝Leptonica和Tesseract的依賴包。如果這麼做的話,可以直接跳到搭建Web服務器部分。但是為了學習,如果你以前沒有親手構建過庫文件的話,還是建議嘗試一下。

大佬教你如何用Python建一個OCR服務器,附視頻教程


發生了什麼?


簡單說,sudo apt-get update意思就是更新包列表。然後就能安裝一些圖像處理的包,如libtiff,libpng等等。除此之外,我們還需要安裝Python 2.7,作為我們的編程語言,以及python-imaging庫。

說起圖像,在將程序裡面編輯圖像之前我們還需要ImageMagick包。

$ sudo apt-get install imagemagick# **構建Leptonica和Tesseract**

再說一遍,如果你用_run.sh腳本已經安裝過,就可以直接跳到搭建Web服務器部分。


Leptonica


現在,開始安裝Leptonica。

大佬教你如何用Python建一個OCR服務器,附視頻教程

如果這是你第一次用tar的話,按照如下步驟操作:

1. 用wget下載Leptonica的二進制文件

2. 解壓

3. 用cd進入解壓後的文件夾

4. 運行autobuild和configure腳本安裝

5. 執行make命令build

6. Build後安裝

7. 執行ldconfig創建相關的鏈接

OK,Leptonica創建好了,接下來就是Tesseract了。


Tesseract


現在下載並安裝Tesseract吧。

大佬教你如何用Python建一個OCR服務器,附視頻教程

此處構建了一個Leptonica的映像,這部分的詳細信息參考Leptonica的解釋。


環境變量

我們需要設置一個環境變量來訪問Tesseract數據:

$ export TESSDATA_PREFIX=/usr/local/share/


Tesseract包


最後安裝一下Tesseract相關的語言包:

大佬教你如何用Python建一個OCR服務器,附視頻教程

OK,Tesseract也安裝好了,可以CLI來測試一下。更多的信息可以參考docs。但是,我們還需要一個Python環境。所以,接下來安裝一個能夠接受以下兩種請求的Flask服務器:

1. 接受圖像URL

2. 能夠對圖像進行字符識別

搭建Web服務器


最有趣的事情來了!首先,我們需要構建一種通過Python和Tesseract交互的方式。我們可以使用popen,但是那不是python的風格。所以,我們可以使用一個非常小但是功能非常強大的Python包將Tesseract封裝起來——pytesseract。想要快點的話,就運行_app.sh腳本,否則,就得獲取代碼/結構的模板,然後運行一下命令:

大佬教你如何用Python建一個OCR服務器,附視頻教程

注意:Flask模板是一個獲取簡單的具有Python風格的服務器的非常棒的庫。本文將它用來作為基本程序。


安裝OCR引擎


現在,我們需要用pytesseract來創建一個類來讀取圖片。在flask_server目錄下創建一個新的文件ocr.py,寫入如下代碼:

大佬教你如何用Python建一個OCR服務器,附視頻教程

非常好!主方法process_image()的功能是銳化圖像文本。現在,這個模塊已經可以用了。


可選項:為你的OCR引擎創建一個CLI工具


做了這麼多繁瑣配置工作,讓我們來創建一個CLI工具來調節一下心情吧。在flask_server目錄下創建一個新的文件cli.py,寫入如下代碼:

大佬教你如何用Python建一個OCR服務器,附視頻教程

非常簡單。之後我們就能看到從我們的OCR引擎中輸出到標準輸出STDOUT上的文本了。執行python flask_server/cli.py來試一下吧。

回到服務器


既然我們已經安裝好了OCR引擎,接下來該準備輸出了。講下面的代碼加入到app.py文件:

大佬教你如何用Python建一個OCR服務器,附視頻教程

確保引入的下列包是最新的:

大佬教你如何用Python建一個OCR服務器,附視頻教程

最後,添加一行API版本號:

_VERSION = 1 # API version

從代碼中可以看到,我們以PIL中Image文件對象的方式把JSON的響應傳入引擎的process_image()方法中。並且,就目前而言,它只支持.jpg圖片。

注意:如果PIL包沒有安裝的話,可以用Pillow包來代替。PIL有一些問題還沒有解決,Python社區對它的看法也不統一,詳細情況可以自行Google。

測試


運行你的程序:

大佬教你如何用Python建一個OCR服務器,附視頻教程

然後,在另外一個終端運行:

$ curl -X POST http://localhost:5000/v1/ocr -d '{"image_url": "some_url"}' -H "Content-Type: application/json"

例子

大佬教你如何用Python建一個OCR服務器,附視頻教程

前端


現在後端OCR引擎的API已經準備好了,我們可以增加一個基本的前端來使用這些API,並將結果通過AJAX和jQuery添加到DOM中。這部分內容本文就不講了。

大佬教你如何用Python建一個OCR服務器,附視頻教程

用下面的樣本來測試一下:

大佬教你如何用Python建一個OCR服務器,附視頻教程

最後,想學習Python的小夥伴們!

請關注+私信回覆:“資料”就可以拿到一份我為大家準備的Python學習資料!

大佬教你如何用Python建一個OCR服務器,附視頻教程

"

轉發關注+私信小編 “資料”

就可以拿到一份我為大家準備的Python學習資料!

大佬教你如何用Python建一個OCR服務器,附視頻教程

Why?

OCR(又叫光學字符識別)已經成為Python的一個常用工具。隨著開源庫Tesseract和Ocrad的出現,越來越多的程序員用OCR來編寫自己的庫文件和bot病毒。一個OCR的小例子,如用OCR直接從截圖中提取文本,省去了重新鍵入的麻煩。

開始的步驟

開始之前,我們需要開發一個後端服務層來表示OCR引擎的結果。這樣你就可以用你喜歡的方式來向端用戶表示你的結果。本文之後將會詳細介紹。除此之外,我們還需要添加一點後端代碼來生成HTML表格,以及一些使用這些API的前段代碼。這部分本文沒有講,但是你可以參閱源代碼。


準備好開始吧!


首先,需要安裝一些依賴項。這個過程也是非常有趣的。本文已經在Ubuntu 14.04測試,但是12.x和13.x版本應該也可以。如果你用的是OSX系統,可以用VirtualBox,Docker(注意檢查有沒有包含Dockerfile和install guide),或者是DigitalOcean(推薦使用)來創建相應的環境。


下載依賴項


我們需要Tesseract及其所有依賴項,包括Leptonica及其他相關的包。注意:可以用_run.sh這個shell腳本來快速安裝Leptonica和Tesseract的依賴包。如果這麼做的話,可以直接跳到搭建Web服務器部分。但是為了學習,如果你以前沒有親手構建過庫文件的話,還是建議嘗試一下。

大佬教你如何用Python建一個OCR服務器,附視頻教程


發生了什麼?


簡單說,sudo apt-get update意思就是更新包列表。然後就能安裝一些圖像處理的包,如libtiff,libpng等等。除此之外,我們還需要安裝Python 2.7,作為我們的編程語言,以及python-imaging庫。

說起圖像,在將程序裡面編輯圖像之前我們還需要ImageMagick包。

$ sudo apt-get install imagemagick# **構建Leptonica和Tesseract**

再說一遍,如果你用_run.sh腳本已經安裝過,就可以直接跳到搭建Web服務器部分。


Leptonica


現在,開始安裝Leptonica。

大佬教你如何用Python建一個OCR服務器,附視頻教程

如果這是你第一次用tar的話,按照如下步驟操作:

1. 用wget下載Leptonica的二進制文件

2. 解壓

3. 用cd進入解壓後的文件夾

4. 運行autobuild和configure腳本安裝

5. 執行make命令build

6. Build後安裝

7. 執行ldconfig創建相關的鏈接

OK,Leptonica創建好了,接下來就是Tesseract了。


Tesseract


現在下載並安裝Tesseract吧。

大佬教你如何用Python建一個OCR服務器,附視頻教程

此處構建了一個Leptonica的映像,這部分的詳細信息參考Leptonica的解釋。


環境變量

我們需要設置一個環境變量來訪問Tesseract數據:

$ export TESSDATA_PREFIX=/usr/local/share/


Tesseract包


最後安裝一下Tesseract相關的語言包:

大佬教你如何用Python建一個OCR服務器,附視頻教程

OK,Tesseract也安裝好了,可以CLI來測試一下。更多的信息可以參考docs。但是,我們還需要一個Python環境。所以,接下來安裝一個能夠接受以下兩種請求的Flask服務器:

1. 接受圖像URL

2. 能夠對圖像進行字符識別

搭建Web服務器


最有趣的事情來了!首先,我們需要構建一種通過Python和Tesseract交互的方式。我們可以使用popen,但是那不是python的風格。所以,我們可以使用一個非常小但是功能非常強大的Python包將Tesseract封裝起來——pytesseract。想要快點的話,就運行_app.sh腳本,否則,就得獲取代碼/結構的模板,然後運行一下命令:

大佬教你如何用Python建一個OCR服務器,附視頻教程

注意:Flask模板是一個獲取簡單的具有Python風格的服務器的非常棒的庫。本文將它用來作為基本程序。


安裝OCR引擎


現在,我們需要用pytesseract來創建一個類來讀取圖片。在flask_server目錄下創建一個新的文件ocr.py,寫入如下代碼:

大佬教你如何用Python建一個OCR服務器,附視頻教程

非常好!主方法process_image()的功能是銳化圖像文本。現在,這個模塊已經可以用了。


可選項:為你的OCR引擎創建一個CLI工具


做了這麼多繁瑣配置工作,讓我們來創建一個CLI工具來調節一下心情吧。在flask_server目錄下創建一個新的文件cli.py,寫入如下代碼:

大佬教你如何用Python建一個OCR服務器,附視頻教程

非常簡單。之後我們就能看到從我們的OCR引擎中輸出到標準輸出STDOUT上的文本了。執行python flask_server/cli.py來試一下吧。

回到服務器


既然我們已經安裝好了OCR引擎,接下來該準備輸出了。講下面的代碼加入到app.py文件:

大佬教你如何用Python建一個OCR服務器,附視頻教程

確保引入的下列包是最新的:

大佬教你如何用Python建一個OCR服務器,附視頻教程

最後,添加一行API版本號:

_VERSION = 1 # API version

從代碼中可以看到,我們以PIL中Image文件對象的方式把JSON的響應傳入引擎的process_image()方法中。並且,就目前而言,它只支持.jpg圖片。

注意:如果PIL包沒有安裝的話,可以用Pillow包來代替。PIL有一些問題還沒有解決,Python社區對它的看法也不統一,詳細情況可以自行Google。

測試


運行你的程序:

大佬教你如何用Python建一個OCR服務器,附視頻教程

然後,在另外一個終端運行:

$ curl -X POST http://localhost:5000/v1/ocr -d '{"image_url": "some_url"}' -H "Content-Type: application/json"

例子

大佬教你如何用Python建一個OCR服務器,附視頻教程

前端


現在後端OCR引擎的API已經準備好了,我們可以增加一個基本的前端來使用這些API,並將結果通過AJAX和jQuery添加到DOM中。這部分內容本文就不講了。

大佬教你如何用Python建一個OCR服務器,附視頻教程

用下面的樣本來測試一下:

大佬教你如何用Python建一個OCR服務器,附視頻教程

最後,想學習Python的小夥伴們!

請關注+私信回覆:“資料”就可以拿到一份我為大家準備的Python學習資料!

大佬教你如何用Python建一個OCR服務器,附視頻教程

大佬教你如何用Python建一個OCR服務器,附視頻教程

"

相關推薦

推薦中...