Método de empaquetado de funciones personalizadas Halcon (el más detallado de toda la red)


Algunos internautas dijeron que no tienen muy claro el método de encapsulación de esta función halcon. Escribe una publicación tutorial hoy, deja que todos progresen y compartan.

1. Explicación del sustantivo

Operador: se
refiere a la función más básica y de nivel más bajo en Halcon (es decir, no puede ver su implementación de código). Un operador tiene solo una oración, como el operador de umbral.

Función: una función
compuesta por múltiples operadores. Su característica es que se puede abrir haciendo clic con el botón derecho en "Función de visualización". Como se muestra abajo:

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Generalmente, en la ventana del programa de código Halcon, los colores del código de los operadores y las funciones pequeñas son diferentes. Como se muestra abajo:
Inserte la descripción de la imagen aquí

2. Introducción

1. Procese la imagen y las tareas originales:

Se requiere el radio del círculo exterior del área brillante.
Inserte la descripción de la imagen aquí

2. Código y análisis:

* 读入图片
read_image (Image, 'C:/Users/Administrator/Desktop/1.jpg')
* 根据图片打开窗口
dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
* 显示图片,用于预览
dev_display (Image)

* 二值化
binary_threshold (Image, Region, 'max_separability', 'light', UsedThreshold)
* 分割连通域
connection (Region, ConnectedRegions)
* 使用特征筛选去掉小面积区域的干扰
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 5000, 1000000000)
* 合并区域,为下一步求取最小外接矩形做准备
union1 (SelectedRegions, RegionUnion)
* 求取最小外接矩形
smallest_circle (RegionUnion, Row, Column, Radius)

* 生成一个圆形,用于显示
gen_circle (Circle, Row, Column, Radius)

*显示结果前的准备
dev_clear_window ()
dev_set_draw ('margin')
dev_set_line_width (3)
dev_set_color ('red')

* 显示相关结果
dev_display (Image)
dev_display (Circle)
disp_message (WindowHandle, '圆环半径: '+Radius, 'window', 50, 50, 'black', 'true')

3. Método de empaquetado de la función Halcon

La creación de funciones de Halcon se divide en los siguientes pasos:
1. Identificar los requisitos y las funciones que se encapsularán.
2. Seleccionar la parte de función para crear la función y cambiar la interfaz de función, es decir, cambiar las variables de entrada y salida.
3. Ejecutar operaciones de verificación y cambio de función.

①Clarificar necesidades

Tomemos el programa anterior como ejemplo. La tarea principal que realiza nuestro programa es encontrar el radio del círculo circunferencial y mostrarlo

Observamos que el código se divide en tres partes:
1. Etapa de preparación: leer en la imagen, abrir la ventana, vista previa y otras tareas.
2. Etapa de procesamiento: procesamiento de imágenes, obtener el resultado
3. Etapa de visualización: mostrar el resultado
como se muestra en la siguiente figura:
Inserte la descripción de la imagen aquí
Claro 1: Necesitamos encapsular la segunda parte del "operador de etapa de procesamiento en una función"

En este punto, miramos el código en la etapa de procesamiento. A partir del análisis, podemos ver:
1. Este código requiere una imagen para el procesamiento de la imagen
2. El resultado del círculo circunferencial del anillo (la posición y el radio del círculo circunferencial) está
determinado por este :
Pase una variable de imagen y envíe las coordenadas (X, Y) de la circunferencia y el radio de la circunferencia
Hasta ahora, los requisitos se han aclarado.

②Seleccione la parte de la función para crear la función y cambiar la interfaz de la función

Seleccione la función de la etapa de procesamiento, haga clic derecho y haga clic en "Crear nueva función". Como se muestra en la figura siguiente: la
Inserte la descripción de la imagen aquí
siguiente página se mostrará de la siguiente manera:
Inserte la descripción de la imagen aquí
primero haga clic en la barra de configuración general, edite el nombre de la función (puede nombrar esta función como desee) y luego haga clic en "parámetros".
Después de eso, la página mostrada es la siguiente: El
Inserte la descripción de la imagen aquí
significado de los parámetros del icono: es decir, variables gráficas como imágenes, áreas y contornos Xld.
Significado del parámetro variable: se refiere al entero, punto flotante, cadena, matriz y otras variables que usamos en el programa.

Podemos hacer clic en el botón Agregar variable para agregar variables de entrada y salida.
Si queremos eliminar una variable, el método de operación es el siguiente:
primero seleccione la variable y haga clic en eliminar. Después de
Inserte la descripción de la imagen aquí
hacer clic en eliminar:
Inserte la descripción de la imagen aquí
también puede seleccionar la función y hacer clic en "arriba", "Mover hacia abajo" cambia el orden de las variables.

Sabemos por el paso del análisis de requisitos que debemos:
pasar una variable de imagen y enviar las coordenadas (X, Y) del círculo circunscrito y el radio del círculo circunscrito.
Modificar los parámetros de las variables de página de la siguiente manera y hacer clic en el documento general para cambiar la columna:
Inserte la descripción de la imagen aquí
columna del documento general: ( Se pueden escribir documentos descriptivos para funciones) que incluyen descripciones de funciones, programas de ejemplo, descripciones de parámetros y precauciones avanzadas. Por lo general, no completamos.
Inserte la descripción de la imagen aquí
Haga clic en el documento de parámetros en la figura anterior: el
documento de parámetros contiene el significado detallado de los parámetros de esta función: como se muestra en la figura siguiente:
Inserte la descripción de la imagen aquí
si completamos el documento general y el documento de parámetros, ¿qué sucederá?
Su función tiene un documento de descripción como el operador halcon:
es decir, seleccione un operador, haga clic en F1 para que aparezca el documento de ayuda del operador.
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Complete todos los pasos anteriores y haga clic en el botón Aceptar para generar la función
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

③ Ejecutar operación de verificación y cambio de función

Haga clic en F5 para ejecutar el programa o haga clic en F6 para ejecutar el programa en un solo paso para verificar la precisión del programa.
Cuando F6 es un paso a la función, puede hacer clic en F7 para ejecutar la ejecución interna de la función. Haga clic en F8 para salir de la ejecución de la función

Si desea ver el código de función, seleccione la función, haga clic con el botón derecho del mouse y seleccione la función de visualización para ver el código:
Inserte la descripción de la imagen aquí
puede hacer clic en el botón Atrás en el cuadro rojo para salir de la visualización de la función actual.Como se
muestra en la figura siguiente:
haga clic en el botón en el cuadro azul para abrir la ventana de edición de funciones (Es decir, la ventana donde modificamos el nombre de la función y el parámetro de interfaz cambia arriba)
Inserte la descripción de la imagen aquí

  • Sobre el blogger:
  • Ingeniero de software superior de automatización industrial, ingeniero de algoritmos de visión artificial, ingeniero de algoritmos de control de movimiento. Actualmente trabaja en la industria de automatización de fabricación inteligente. Buzón de Blogger: [email protected]
  • Ayúdame a que me guste. Jaja.

Supongo que te gusta

Origin blog.csdn.net/cashmood/article/details/105195235
Recomendado
Clasificación