2016-12-28 67 views
0

我想從圖像中提取手寫文字。我使用python opencv函數,例如find_contours。這一切都是做得較好,當我使用的圖像像這樣的:筆記本文字提取

enter image description here

它正常工作,因爲我有一個簡單的背景。但後來我與此圖像進行了測試:

enter image description here

因爲在後檯筆記本電腦的線,我不能夠只提取文本。雖然文字是紅色的,但我會將所有圖像轉換爲灰度或有時是閾值,以便像筆記本一樣變黑。這樣,文本的顏色並不重要。所以我的問題在於:任何人都可以給我建議或可能的解決方案,以便如何處理這種背景以提取文本。我真的不想使用滑動窗口方法。 預先感謝您

回答

0

我決定再次嘗試使用OpenCV中的HoughLinesP功能,這次給了我一個更有希望和更令人滿意的結果。下面是我用於去除線的大部分代碼片段:

import cv2 
import numpy 

img = cv2.imread('thresh.png') 
edges = cv2.Canny(img, 50, 150, apertureSize=3) 
minLineLength = 0 
maxLineGap = 5 
lines = cv2.HoughLinesP(edges, 1, numpy.pi/180, 100, minLineLength, maxLineGap) 

for x in range(len(lines)): 
    for x1, y1, x2, y2 in lines[x]: 
     cv2.line(img, (x1, y1), (x2, y2), (0, 0, 0), 2) 

cv2.imwrite('houghlines3.jpg', img) 

附加信息:thresh.png是其中我存儲初始PIC的閾值版本的圖像。整個事情的作用方式是找到圖像中的線條並將它們塗成黑色(因爲在我的門檻中,接近白色的是黑色,反之亦然)。這就是它清除線條的方式。 PS:希望我幫助過某人!乾杯!

相關問題