这篇文章主要是介绍下我经历的一些比较难已提取OCR部分的图片,从而介绍下一些特别的处理方式。
第一种:差分高斯diff_of_gauss(近似拉普拉斯高斯)
原图如下:一般的方法基本提取不出来相应的字符。
那我们可以通过差分高斯这个算子直接得出很好的效果图,代码以及效果图如下:
read_image (Image, 'C:/Users/Administrator/Desktop/3.bmp')
rgb1_to_gray (Image, GrayImage)
*差分高斯
diff_of_gauss (GrayImage, DiffOfGauss, 3, 1.6)
threshold (DiffOfGauss, Regions, 2, 12)
这个效果可以直接进行处理,参照我之前的处理OCR的程序,直接就可以得出结果了,这里我就不再写了。
第二种:环形的字符,主要的思路就是通过极坐标转换,将环形部分拉直,剩下的就是正常的字符读取了。
原图:
read_image (Image, 'C:/Users/Administrator/Desktop/环形字符.png')
rgb1_to_gray (Image, GrayImage)
get_image_size (GrayImage, Width, Height)
emphasize (GrayImage, ImageEmphasize, Width, Height, 1)
threshold (ImageEmphasize, Regions, 0, 21)
connection (Regions, ConnectedRegions)
select_shape_std (