java图片中分割字符,[转]图片中的字符分割提取(基于opencv)

  • Post author:
  • Post category:java


http://blog.csdn.net/anqing715/article/details/16883863

源图片

1d8c3850372441f8d4a68e4bebd1085b.png

像这些图片的字符就比较好操作,每个字符都独立,不连在一起,所以轮廓检测最好了。

所以就有:

1.源图片转成单通道的灰阶图片

2.对灰度图像进行阈值操作得到二值图像

(对于一些手机拍的,背景色不是纯的话,可以用cvSmooth()平滑一下。)

二值化后的图片

ae540b55125c37c00e465c30f3b59ff6.png

3.轮廓检测(只获取最外层的)

4.遍历所有检测到的轮廓,用cvBoundingRect()得到每一个轮廓的外接矩形

找到的轮廓

b4bb36d18f95748c847fd3a40a8e8d8a.png

5.抠它们出来,这步在上面的遍历中直接通过setROI方法进行提取。

最后的结果