私はスキャンしたい画像のバッチを持っています。私は水平線を削除することができ、プログラムを作ったPython:OCR文字を横線で横切る方法
:
import cv2
import numpy as np
img = cv2.imread('image.jpg',0)
# Applies threshold and inverts the image colors
(thresh, im_bw) = cv2.threshold(img, 128, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)
im_wb = (255-im_bw)
# Line parameters
minLineLength = 100
maxLineGap = 10
color = 255
size = 2
# Substracts the black line
lines = cv2.HoughLinesP(im_wb,1,np.pi/180,minLineLength,maxLineGap)[0]
for x1,y1,x2,y2 in lines:
cv2.line(img,(x1,y1),(x2,y2),color,size)
cv2.imshow('clean', img)
そのうちのいくつかは、次のようになり、スキャンする必要がある文字を横切る水平線を、持っていますこれは下の画像を返す
:だから
は、あなたがどのように任意のアイデアを持っています白い線を横切るこれらの文字にOCRを適用するには?あなたが述べたものとは異なるアプローチをしますか?
ご不明な点がございましたら、ご質問ください。ありがとうございました。 @Rethunkアドバイスに従い
交差する文字ストローク外の黒線の部分だけを削除するアルゴリズムを作成しようとしましたか?私はそれに焦点を当てることをお勧めします。線の太さがわかれば(線の太さが一定であると仮定して)、線の上下に黒いピクセルがあるかどうかを確認し、上下のピクセルが白い場合は一度に1つの線のみを削除します。 – Rethunk