1. 程式人生 > >python+opencv+EAST做自然場景文字檢測(轉)

python+opencv+EAST做自然場景文字檢測(轉)

mark一下,感謝作者分享!
https://blog.csdn.net/luolan9611/article/details/81914251

提醒:作者實現的python的文字檢測基於OpenCV的官方C ++示例 ; 在將其轉換為Python時遇到了一些麻煩。首先, Python 中沒有 Point2f

   和 RotatedRect函式,因此,無法100%模仿 C ++實現。C ++實現可以生成旋轉的邊界框,但不幸的是,我今天與你分享的那個不能。其次, NMSBoxes   函式不返回Python繫結的任何值(至少對於OpenCV 4預釋出安裝),最終導致OpenCV丟擲錯誤。該 NMSBoxes   功能可以在OpenCV的3.4.2工作,但作者無法詳盡地測試它。作者解決了這個問題,在imutils中使用自己的非最大值抑制實現,但作者不相信這兩個是100%可互換的…….

自己拍了兩張圖,拿這個程式碼跑了一下,效果…..自行感受,能定出來大部分,但還是有缺漏:

使用方法:

1.下載原始碼:

開啟英文原文連結,點選下載,輸入郵箱號,通過郵箱中的連結下載壓縮包。

如果下載後解壓縮失敗的話,可以去我的CSDN資源下載頁進行下載:

https://download.csdn.net/download/luolan9611/10618468

2.要pip install –upgrade imutils

3.要安裝opencv3.4.2

沒安裝opencv的話import cv2會報錯,如下所示:

我的環境是Anaconda+python3.5.2,所以下了一個(下載連結:http://www.lfd.uci.edu/~gohlke/pythonlibs/

),根據自己python的版本下載對應的whl檔案就行,放到Anaconda的Lib的site-packages下面,然後在Anaconda終端進入到site-packages目錄,輸入pip install opencv_python-3.4.2-cp35-cp35m-win_amd64命令,然後就安裝好啦。安裝好後再次import cv2,並檢視安裝的opencv的版本。

4.將自己的圖片放入opencv-text-detection下的images資料夾內

5.在終端中輸入命令:

python text_detection.py –image images/car_wash.png –east frozen_east_text_detection.pb

–image後面跟的是檔案的路徑

如果是在pycharm中開啟的話,在pycharm的terminal中也可以輸,如下所示,然後結果就會視覺化彈窗跳出來。

最後這張圖看得我強迫症犯了。今天實驗室蚊子好多。

英文原文中還有視訊的文字檢測,可惜我的電腦沒有攝像頭,就不做實驗了。這個如果這樣跑的話,一個命令跑一張圖,如果要應用到自己的圖上,可以改一下,批量跑,然後把檢測的結果的座標寫入txt文件,並把視覺化結果儲存下來。看心情改不改啦。






英文原文連結:https://www.pyimagesearch.com/2018/08/20/opencv-text-detection-east-text-detector/