我有一些二進制圖像與文本,象下面這樣:如何通過二值圖像的水平投影來分割文本?
圖像1:
圖像2:
和相應的水平投影是:
看來,我可以通過水平投影分割,但如何?
在此先感謝!
PS:代碼做了預測:
from matplotlib import pyplot as plt
import pylab
(rows,cols)=img.shape
h_projection = np.array([ x/255/rows for x in img.sum(axis=0)])
plt.plot(range(cols), h_projection.T)
pylab.savefig(outfile, bbox_inches='tight')
plt.clf()
並消除誤解,當我說水平投影,我的意思是a projection made on a plane parallel to the horizon.
在投影上使用閾值較高的值(例如0.95)。然後你有一個1D的掩碼,其中_sequences_爲零(假),你有字母和其他東西。還有一些(真的)你有全白的coulmns。真實序列的開始和結束索引告訴你白色列開始和結束的位置。請參閱[這裏](http://stackoverflow.com/a/35014061/5008845)提示(使用C++) – Miki
謝謝@Miki。我會在稍後嘗試。我認爲文字和其他內容最顯着的不同之處在於文字區域在投影圖像上的價值正在迅速變化,所以我想用這個特性來查找文字區域。但不幸的是我不知道如何。 – Zieng