3
我正在嘗試編寫一個簡單的程序來讀取灰度級中的bmp圖像。我有一套模式(除'I'以外的全部字母),我想匹配它們。我在Matlab中遇到問題。Matlab中的簡單文本閱讀器(OCR)
我走到這一步:
clear
clc
%set of patterns
BW1 = imread('alphabet.bmp');
patterns = bwlabel(~BW1);
patternStats = regionprops(patterns,'all');
patternNumber = size(patternStats);
imagePatternArray = cell(patternNumber);
%make cell array of pattern vectors
for i = 1:1:patternNumber
imageMatrix = patternStats(i).Image;
imageVector = imageMatrix(:);
imagePatternArray{i} = imageVector;
end
%set of chars
BW2 = imread('text.bmp');
text = bwlabel(~BW2);
textStats = regionprops(text,'all');
letterNumber = size(textStats);
imageLetterArray = cell(letterNumber);
%make cell array of text vectors
for i = 1:1:letterNumber
imageMatrix = textStats(i).Image;
imageVector = imageMatrix(:);
imageLetterArray{i} = imageVector;
end
%lookup table
charSet =['A','B','C','D','E','F','G','H','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
現在我想比較模式與給定的載體載體,但它們具有不同的尺寸。
我該怎麼做?有一些特殊的比較功能嗎?我應該加0到最後,然後用pdist
計算距離?
Wha你可能想要做的是使用不同尺度的關聯(尺寸)。這就是存在的最簡單的OCR。看看函數normxcorr2,特別是matlab中的例子。 – ldog 2011-04-05 21:57:39