Tecnología

Inicio

El código en MATLAB para OCR

MATLAB es un acrónimo de "laboratorio matriz" y se refiere a un lenguaje de programación de alto nivel y un entorno de programación desarrollado por The MathWorks técnicos de la compañía de software de ordenador. OCR es una abreviatura de "reconocimiento óptico de caracteres" y se refiere al proceso de lectura de datos en forma impresa y la identificación de patrones ópticos que corresponden a las letras, números y otros caracteres.

LOC

Todos los pasos involucrados en OCR - segmentación, extracción de características y clasificación - se puede implementar utilizando MATLAB. Segmentación, que consiste en comprobar la conectividad de formas, y el etiquetado y el aislamiento de ellos, es la etapa más importante porque permite que el programa de OCR para extraer características de cada carácter individual. La segmentación de texto escrito a mano es particularmente difícil debido a caracteres escritos a mano tienden a ser conectados entre sí. Extracción de características extrae las características más útiles, en términos de reconocimiento, de cada personaje y clasificación asigna esas características para las clases de caracteres.

Captura de imagen

De acuerdo con un documento presentado en un seminario impartido por Lasin Laboratorio de Sinergética en la Universidad de Ljubljana, el OCR puede ser implementado en MATLAB usando la red neuronal de la caja de herramientas de procesamiento de imágenes y la caja de herramientas complementos. La primera etapa consiste en la lectura de la imagen en el espacio de trabajo de MATLAB como un archivo de mapa de bits. Este es un tipo de archivo gráfico en el que cada elemento de imagen, o pixel, corresponde a uno o más dígitos binarios o bits, en la memoria. El siguiente código se utiliza para esta tarea.

I = imread ( 'training.bmp');
imshow (I)

Conversión de imágenes

La siguiente etapa es la de convertir la imagen de color, que se almacena como superposiciones de color rojo, verde y azul por separado, en una imagen de escala de grises, que consiste en tonos discretos de gris. El siguiente código de MATLAB convierte la imagen RGB en una imagen en escala de grises.

Igray = rgb2gray (I);
imshow (Igray)

Trilla

Posteriormente, una técnica conocida como "trilla" se utiliza para convertir la imagen en escala de grises en una imagen binaria. La célula de códigos de MATLAB necesarios para convertir la imagen en escala de grises en una imagen binaria es como la siguiente:

IBW = im2bw (Igray, graythresh (Igray));
imshow (PCI)

Detección de bordes

Una vez creada la imagen binaria, los caracteres individuales se recortan en subimágenes. Estos proporcionan los datos básicos para la rutina de funciones de extracción. Los sub-imágenes deben ser recortadas drásticamente en la frontera de cada personaje, si han de ser de tamaño estándar, por lo que la detección del borde de cada carácter es importante. El borde de una imagen se puede detectar usando el siguiente código MATLAB.

Iedge = borde (uint8 (PCI));
imshow (iedge)

Objetos

Todos los objetos de una imagen - y las propiedades de cada objeto - se pueden determinar usando el siguiente código de MATLAB.

[Ilabel num] = bwlabel (Ifill);
disp (num);
Iprops = regionprops (Ilabel);
IBox = [Iprops.BoundingBox];
IBox = cambio de forma (iBox, [4 50]);
imshow (I)