YCG09 / chinese_ocr

CTPN + DenseNet + CTC based end-to-end Chinese OCR implemented using tensorflow and keras
Apache License 2.0
2.74k stars 1.08k forks source link

将黑底白字转换为白底黑字的代码的疑问 #98

Open wqt2019 opened 5 years ago

wqt2019 commented 5 years ago

在densenet/model.py文件的predict函数中,

img_array = np.array(img.convert('1'))

# boundary_array = np.concatenate((img_array[0, :], img_array[:, width - 1], img_array[31, :], img_array[:, 0]), axis=0)
# if np.median(boundary_array) == 0:  # 将黑底白字转换为白底黑字
#     img = ImageOps.invert(img)

请问这里的将黑底白字转换为白底黑字的判断条件是什么,np.median(boundary_array) 求取的是二值图像的边界的中值(二值图像的右下角的点?)?

YCG09 commented 5 years ago

取的是中位数,这个条件后来在实际测试中发现不健壮,就去掉了

peterluck3 commented 4 years ago

你已训练好的densenet OCR模型,对于许多图片识别的不准,但是把图片invert翻转后,就很准。 是因为你的数据集中,黑底白字的样本不多吗? 还是需要人工加入翻转策略?