Halcon crea plantillas y realiza la coincidencia de plantillas

Al realizar el procesamiento de imágenes, crear una plantilla y analizar el punto de referencia de la imagen haciendo coincidir la plantilla puede mejorar en gran medida la precisión y la eficiencia de la selección de ROI.

A continuación se describe la aplicación de aprendizaje rápido de la coincidencia de plantillas a través de ejemplos.

 

Primero cree una plantilla , lea la imagen primero, cree una plantilla
para la imagen leída y guárdela. Para crear una plantilla, seleccione las características o áreas que existen en todas las imágenes para asegurarse de que el programa pueda realizar el procesamiento de análisis de imágenes normalmente durante el procesamiento real.

Los operadores que comienzan con dibujar en Halcon requieren que los humanos dibujen manualmente en la imagen,

El código es el siguiente:

1 * Leer imagen
 2 read_image (Imagen, ' H: / NEW IMAGE / 21.tiff ' )
 3 * Dibujar manualmente el ROI en la imagen, es decir, seleccionar el área de plantilla dibujada
 4  draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)
 5 * Generar un rectángulo a partir del área de plantilla dibujada
 6  gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)
 7 * Extraer la imagen del área como una imagen de plantilla
 8  reduce_domain (Imagen, Rectángulo, ImageReduced1)
 9 * Crear una plantilla
 10 create_shape_model (ImageReduced1 , ' auto ' , - 0.39 , 0.79 , 'auto ' , ' auto ' , ' use_polarity ' , ' auto ' , ' auto ' , ModelID)
 11 * Guarde la plantilla creada como un archivo en la ruta especificada
 12 write_shape_model (ModelID, ' E: /modle1.shm ' )

Después de crear la plantilla, el siguiente controlador solo necesita el archivo de plantilla guardado al final del código anterior. El código es el siguiente:

1 * Lea la imagen
 2 read_image (Imagen1, ' H: / NEW IMAGE / 13.tiff ' )
 3 * Lea el archivo de plantilla
 4 read_shape_model ( ' E: /modle1.shm ' , ModelID1)
 5 * Encuentre la plantilla en la imagen, y retorno a las coordenadas del centro de la plantilla
 6. find_shape_model (Image1, ModelID1, - 0,39 , 0,78 , 0,5 , . 1 , 0,5 , ' least_squares ' , 0 , 0,9 , ROW1, column1, Anglel, SCORE1)
 . 7 * coincidencias con la plantilla
 8 if (| Row1 | == 1 )
 9 * Mostrar plantilla en la imagen
 10      dev_display_shape_matching_results (ModelID1, ' red ' , Row1, Column1, Angle1, 1 , 1 , 0 )
 11 endif

Lo anterior es una simple creación de plantillas y coincidencia de plantillas, espero ayudar a todos, gracias.

Supongo que te gusta

Origin www.cnblogs.com/ybqjymy/p/12735784.html
Recomendado
Clasificación