Matlab中Kannada的字符分割算法

时间:2014-06-01 17:11:36

标签: matlab image-processing ocr image-segmentation

我正在研究Matlab中古代卡纳达语的光学字符识别。在测试图像(文档)中,我需要预处理图像,分割字符,提取特征并将这些特征向量传递给神经网络以进行识别。但我在分割方面遇到了问题,我尝试使用此代码,但它对大多数图像都不起作用。

clear all;
close all;
I = imread('sample.png');
BW = im2bw(I, 0.9);
BW = ~BW;
count=1;
stats = regionprops(BW);
for index=1:length(stats)
 if stats(index).Area > 200 && stats(index).BoundingBox(3)*stats(index).BoundingBox(4) < 30000
  x = ceil(stats(index).BoundingBox(1))
  y= ceil(stats(index).BoundingBox(2))
  widthX = floor(stats(index).BoundingBox(3)-1)
  widthY = floor(stats(index).BoundingBox(4)-1)
  subimage(index) = {BW(y:y+widthY,x:x+widthX,:)}; 
  name=strcat(int2str(count),'.png');
    img = imcomplement(subimage{index});
    img = imresize(img,[32 32]);
    imwrite(img,name);
   count=count+1;
  end
 end

字符随机分段,我希望第一个字符首先被分段'1.png',第二个字符被分割为第二个字符('2.png') 建议一些好的算法或算法的源代码进行分割。

您可以在此处找到示例图片

<https://drive.google.com/file/d/0B-gBHe6NsjQIM3BLYnJxMjZONm8/edit?usp=sharing>
<https://drive.google.com/file/d/0B-gBHe6NsjQIUnF1RFVubXZvQjQ/edit?usp=sharing>
<https://drive.google.com/file/d/0B-gBHe6NsjQIWUZqX1NIaUhCYUk/edit?usp=sharing>
<https://drive.google.com/file/d/0B-gBHe6NsjQIeEFpbDZQcWRFN0E/edit?usp=sharing>

提前致谢。

0 个答案:

没有答案