如何通过水平投影二进制图像来分割文本?

时间:2016-10-28 09:39:19

标签: opencv image-processing

我有一些带文字的二进制图像,如下所示:

图片1:

enter image description here

图片2:

enter image description here

相应的水平投影是:

投影图片1: enter image description here

投影图像2: enter image description here

似乎我可以通过水平投影进行分割,但是如何?

提前致谢!

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.

1 个答案:

答案 0 :(得分:-1)

可以使用垂直投影然后水平投影来完成分割。但是为了区分文本字母和其他不需要的东西,你可以使用基于形状的特征描述符,如“方向梯度直方图”和#39;。使用这些功能,您可以训练SVM或基于神经网络的分类器,但是对于训练,您首先需要这些样本字母图像的数据库(如MNIST)。