MATLAB é um acrônimo para "laboratório matriz" e refere-se a uma linguagem de programação de alto nível e ambiente de programação desenvolvido pela MathWorks empresa de software de computador técnicos. OCR é uma abreviação para " reconhecimento óptico de caracteres ", e refere-se ao processo de leitura de dados em forma impressa e identificar padrões ópticos que correspondem a letras, números e outros caracteres . OCR
Todas as etapas envolvidas no OCR - segmentação, extração de características e classificação - pode ser implementado usando MATLAB . Segmentação , que envolve a verificação da conectividade de formas, e rotulagem e isolá-los , é a fase mais importante , pois permite que o programa de OCR para extrair características de cada personagem individual. Segmentação de texto escrita à mão é particularmente difícil porque caracteres manuscritos tendem a ser ligados um ao outro . Extração de características extrai os recursos mais úteis , em termos de reconhecimento , de cada personagem e classificação atribui esses recursos para classes de personagens .
Image Capture
De acordo com um documento apresentado em um seminário dado por Lasin Laboratório de Synergetics na Universidade de Ljubljana, OCR pode ser implementado em MATLAB usando a Rede Neural Toolbox and Image Processing Toolbox add-ons. A primeira etapa envolve a leitura da imagem no espaço de trabalho do MATLAB como um arquivo de bitmap. Este é um tipo de ficheiro de gráfico , no qual cada elemento de imagem, ou pixel , corresponde a um ou mais dígitos binários , ou pouco , na memória . O código a seguir é usado para esta tarefa
I = imread (' training.bmp '); . Imshow (I)
Conversão Imagem
a próxima etapa é converter a imagem colorida , que é armazenado como sobreposições vermelhos, verdes e azuis separadas, em uma imagem em tons de cinza , que consiste em tons discretos de cinza. . O seguinte código MATLAB converte a imagem RGB em uma imagem em tons de cinza
iGray = rgb2gray (I); imshow ( iGray )
debulha
Posteriormente , uma técnica conhecida como " debulha " é usado para converter a imagem em tons de cinza em uma imagem binária . A célula de códigos MATLAB necessários para converter a imagem em tons de cinza em uma imagem binária é algo como isto :
IBW = im2bw ( iGray , graythresh ( iGray ) ); imshow (PI )
< br > Detecção de Bordas
Uma vez que a imagem binária é criada, caracteres individuais são cortadas em subimages . Estes fornecem os dados brutos para a rotina recurso de extração. Os subimages deve ser cortada bruscamente na fronteira de cada personagem , para que possam ser de tamanho padrão, de modo a detecção da borda de cada personagem é importante. A borda de uma imagem podem ser detectadas usando o seguinte código MATLAB
Iedge = borda ( uint8 (PI ) ); . Imshow ( Iedge )
objetos
.
Todos os objetos em uma imagem - e as propriedades de cada objeto - pode ser determinada usando o seguinte código MATLAB
[ Ilabel num] = bwlabel ( Ifill ); disp ( num) ; Iprops = regionprops ( Ilabel ); Ibox = [ Iprops.BoundingBox ]; Ibox = remodelar ( Ibox , [ 4 50 ]); imshow (I)