图像处理 - 点打印文本中的字符数
Image processing - Character count in dot printed text
我必须数一下印在饮料罐中的字符[1]。到目前为止,我已经完成去除噪音和不需要的像素,现在我的文字清晰可读 2 但有什么方法可以正确计算它们。 Ocr 无法检测到此文本。或者我应该使用某种算法加入这些点并继续使用 ocr 功能?
这是给我上图的代码。
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');
你绝对应该加入这些点。我要尝试的第一件事是 imclose
函数,它进行形态学闭合(先膨胀后腐蚀)。
例如,你可以试试这个:
im = imread('dotMatrix.png');
im2 = imclose(im, strel('line', 5, 90));
im3 = imclose(im2, strel('line', 5, 45));
我必须数一下印在饮料罐中的字符[1]。到目前为止,我已经完成去除噪音和不需要的像素,现在我的文字清晰可读 2 但有什么方法可以正确计算它们。 Ocr 无法检测到此文本。或者我应该使用某种算法加入这些点并继续使用 ocr 功能?
这是给我上图的代码。
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');
你绝对应该加入这些点。我要尝试的第一件事是 imclose
函数,它进行形态学闭合(先膨胀后腐蚀)。
例如,你可以试试这个:
im = imread('dotMatrix.png');
im2 = imclose(im, strel('line', 5, 90));
im3 = imclose(im2, strel('line', 5, 45));