2017-02-04 120 views
1

我是計算機視覺領域的新手。做OCR識別寫在卡車/汽車或其他車輛上的文字

我想用Tesseract來檢測寫在卡車側面的數字。

Image of a truck taken from Wikipedia

因此,對於這個例子,我想看看CMA CGM作爲輸出。

我饋送此圖片超正方體經由命令行

tesseract image.JPG out -psm 6 

,但它產生了一個空白文件。

然後我讀Tesserocr的文件(正方體的Python包裝),並試圖將以下代碼

with PyTessBaseAPI() as api: 
    api.SetImage(image) 
    boxes = api.GetComponentImages(RIL.TEXTLINE, True) 
    print 'Found {} textline image components.'.format(len(boxes)) 
    for i, (im, box, _, _) in enumerate(boxes): 
     # im is a PIL image object 
     # box is a dict with x, y, w and h keys 
     api.SetRectangle(box['x'], box['y'], box['w'], box['h']) 
     ocrResult = api.GetUTF8Text() 
     conf = api.MeanTextConf() 
     print (u"Box[{0}]: x={x}, y={y}, w={w}, h={h}, " 
       "confidence: {1}, text: {2}").format(i, conf, ocrResult, **box) 

,並再次,它無法在圖像中讀取任何字符。

我的問題是我應該如何解決這個問題? (我不是在尋找現成的代碼,而是如何解決這個問題的方法)。

我需要用示例圖像訓練tesseract,還是可以使用現有庫編寫代碼以某種方式檢測卡車的座標並嘗試僅在卡車的邊界內進行OCR?

回答

0

Tesseract需要純文檔圖像,但圖像中有非文檔對象。在將其提供給Tesseract-OCR之前,您需要先進行細分(然後可能需要進行一些圖像處理)。

+1

請您詳細說明覆雜的細分部分。我應該如何進行細分,並在什麼階段準備投入Tesseract? – Piyush

+0

Tesseract的-psm選項與您需要的相比是原始的。您需要類似於牌照檢測過程的東西,即從圖像中的非文本部分查找文本。 OpenCV及其社區可能會有所幫助。 –