C#实现图像竖直投影

   近期的学习重点的是如何让Tesseract识别粘连倾斜的字符(如下图所示),把这种图片直接丢给Tesseract肯定是不行的,我需要先将图片中的字符分开,然后再将倾斜的字符摆正,然后才可以给Tesseract呈上。那么现在第一个问题来了,怎样才能正确的将粘连字符分割呢?相关参考资料显示,通过竖直投影直方图的投影极小值,再辅以滴水算法的起始滴落点即可实现正确率较高的分割。

   因此,我首先要得到图片的竖直投影直方图,何谓竖直投影直方图呢?图像的直方图通常用于统计图像的色彩分布,横轴是像素点的数值(0~255),纵轴则是像素值在这张图片中有多少一样的像素点。而图像的垂直(水平)投影直方图则是将样本图的每一列(每一行),投影到直方图对应水平(垂直)坐标上。这是我个人的理解,可能有误,请谨慎参考,若有此领域大牛愿意指点一二,不甚感激。

  如下图所示,蓝色字体部分为原图,其下方的黑色部分为各自二值化之后对应的竖直投影图,源码如下:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

Fork me on GitHub