¿Qué es un código de cadena?

En gráficos de computadora y procesamiento de imágenes, un código de cadena es un algoritmo utilizado para codificar los contornos de un objeto en una imagen en blanco y negro, o monocromo. La secuencia resultante de códigos puede describir cómo dibujar el esquema del objeto en relación con la imagen en la que se encuentra, o puede ser una colección de instrucciones en relación con la ubicación en el esquema donde comenzó el algoritmo, esencialmente proporcionando pasos que se pueden seguir para volver a dibujar el objeto. Estos códigos se pueden normalizar de acuerdo con una fórmula y luego compararse con otro código de cadena para determinar si dos objetos son idénticos. Se puede utilizar un código de cadena para aislar objetos en un programa de visión por computadora o segmentación de imágenes en el procesamiento de imágenes, aunque más comúnmente se puede usar en programas de reconocimiento de caracteres ópticos (OCR).

Aunque hay varios algoritmos establecidos para un código de cadena, el concepto básico es el mismo en cada uno. Primero, se encuentra el borde de un objeto, generalmente moviendo Pixel por pixEl a través de una imagen ráster. Una vez ubicado, se registra la posición y se detectan los bordes circundantes. Dependiendo de si el algoritmo de detección se moverá en sentido horario o en sentido antihorario, la ubicación actual se mueve en una dirección u otra a lo largo del borde hasta que regrese a la posición original.

Cada vez que se mueve la posición actual, se registra un número en el código de cadena. Este número generalmente indica la dirección que se movió a lo largo del borde del objeto. Por ejemplo, si un algoritmo de código de cadena sigue un borde recto de derecha a izquierda, cada vez que se remonta el borde hacia la izquierda, el código numérico para la izquierda se agrega al final del código. El código resultante es una cadena de números en los que, si la secuencia se sigue desde un punto de partida arbitrario y un píxel colocado en cada paso, el contorno del objeto se volvería a dibujar.

Una vez la cadena de números que MakSe completa el código, se pueden aplicar varios algoritmos diferentes para ayudar a hacer comparaciones con otras secuencias de código de cadena. Primero, el número se normaliza rotando el número de inicio hasta que se determina el valor entero más bajo. De esta manera, se pueden comparar dos objetos que tienen el mismo esquema, independientemente de dónde se inició la codificación de cada objeto.

Otras versiones más complejas del algoritmo de código de cadena existen. Estos incluyen la codificación basada en vectores en la que el esquema de un objeto se describe mediante una secuencia de coordenadas que están conectadas por líneas, aunque este método puede ser con pérdida cuando se usa en contornos finamente detallados. También existe una versión del algoritmo que utiliza codificación de longitud de ejecución (RLE) para comprimir aún más los códigos para objetos excepcionalmente grandes o complejos para que puedan almacenarse de una manera más eficiente.

OTROS IDIOMAS