其實,我不得不在給定的圖像中找到任何文本行。如果我有兩個圖像任何方式來確定圖像中沒有文本行?
from PIL import ImageGrab
img1=ImageGrab.grab([0,0,200,80])
img2=ImageGrab.grab([300,0,500,80])
第一個是IMG1 和第二個是IMG2
我怎樣才能得到輸入作爲IMG1輸出爲5 ,如果輸入img2輸出爲4 即圖像中沒有文本行
其實,我不得不在給定的圖像中找到任何文本行。如果我有兩個圖像任何方式來確定圖像中沒有文本行?
from PIL import ImageGrab
img1=ImageGrab.grab([0,0,200,80])
img2=ImageGrab.grab([300,0,500,80])
第一個是IMG1 和第二個是IMG2
我怎樣才能得到輸入作爲IMG1輸出爲5 ,如果輸入img2輸出爲4 即圖像中沒有文本行
如果您想在不使用OCR文本的情況下執行此操作,一種方法是爲圖像中的每一行確定它是否具有一種或多種顏色。
可以將具有一種顏色的線假定爲背景,從多種顏色到單一顏色的任何轉換都是文本行的「底部」行。計算這些轉換,並在圖像中獲得文本行數。
這是假定:一條線的
g
和底部一個f
或類似的配置)我怎樣才能迭代地獲得一行代碼?以及如何獲得該行的顏色。 對於一個pil圖像x我找到了一個方法x.getcolors,但我怎樣才能將一個pil圖像分割成行 –
IIRC沒有這樣的函數來獲得一整行。你將不得不迭代高度並檢查像素(當然,直到你有所不同)。 – Anthon
好的,謝謝讓我試試看 –
您可以嘗試Web服務,例如Microsoft的Computer Vision(Azure Cognitive Services的一部分)或Google Cloud Vision。 – kindall
您可以使用tesseract拍攝圖像,然後對線條進行計數。儘管圖像的質量似乎很低。 OpenCV在3.0中也有文本檢測 –
tesseract給出了錯誤 –