图像处理 - 点打印文本中的字符数

时间:2016-02-02 15:50:15

标签: matlab image-processing ocr matlab-cvst

我必须计算印在饮料罐中的字符[1]。到目前为止,我已经完成了去除噪音和不需要的像素,现在我的文字很清楚,可以阅读2,但有没有办法正确计算它们。 Ocr无法检测到此文本。或者我应该使用一些算法加入这些点并继续使用ocr函数?

ROI of image

以下是给我上述图片的代码。

clear all; close all;
a=imread('coke.jpg');
gray=rgb2gray(a);
thres=150;
lbw=double(gray>thres);
imwrite(lbw,'--\OCR\output.png');

a=imread('output.png');
c=imresize(a,.5);
b = im2bw(c, .9);
b=imcomplement(b);
imwrite(b,'compli.png');

1 个答案:

答案 0 :(得分:0)

你一定要加入点。我要尝试的第一件事就是imclose函数,它可以进行形态学闭合(扩张然后侵蚀)。

例如,你可以试试这个:

im = imread('dotMatrix.png');
im2 = imclose(im, strel('line', 5, 90));
im3 = imclose(im2, strel('line', 5, 45));

enter image description here