Leitor de texto simples (OCR) no Matlab

Estou tentando escrever um programa simples para ler uma imagem bmp em escala de cinza. Eu tenho um conjunto de padrões (o alfabeto inteiro, exceto 'I') e quero combiná-los. Estou com problemas para fazer isso no Matlab.

O que eu tenho até agora:

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'];

gora, eu gostaria de comparar os vetores padrão com o vetor fornecido, mas eles têm tamanhos diferente

Como posso fazer isso? Existe alguma função especial de comparação? Devo adicionar 0s ao final e calcular a distância compdist?

questionAnswers(1)

yourAnswerToTheQuestion