image annotateImages

Anotación Masiva de Puntos de Interés en Imágenes Satelitales

Scénario de test & Cas d'usage

Contexto empresarial

Una agencia de inteligencia geoespacial necesita procesar miles de imágenes satelitales para marcar puntos de interés (ej. nuevas construcciones, actividad inusual). Este escenario prueba la eficiencia de `annotateImages` para anotar un gran volumen de imágenes con anotaciones simples de tipo 'PUNTO', evaluando el rendimiento y el manejo de grandes conjuntos de datos donde la anotación está en la misma tabla.
Sobre el conjunto : image

Procesamiento, manipulación y análisis de imágenes.

Descubrir todas las acciones de image
Preparación de datos

Crea una única tabla grande (`imagenes_satelite_raw`) que contiene tanto la referencia a la imagen como las coordenadas X e Y del punto a anotar. Un bucle genera 10,000 registros para simular un gran volumen.

¡Copiado!
1DATA casuser.imagenes_satelite_raw(replace=yes);
2 LENGTH _image_ $ 50;
3 DO i = 1 to 10000;
4 _image_ = 'sat_img_' || put(i, z5.) || '.png';
5 x = round(rand('UNIFORM') * 1024);
6 y = round(rand('UNIFORM') * 1024);
7 OUTPUT;
8 END;
9RUN;

Étapes de réalisation

1
Anotar las 10,000 imágenes con un punto amarillo en las coordenadas especificadas en la misma tabla. Se utiliza `copyVars` para mantener el identificador de la imagen en la tabla de salida.
¡Copiado!
1PROC CAS;
2 LOADACTIONSET 'image';
3 image.annotateImages /
4 images={TABLE={name='imagenes_satelite_raw', caslib='casuser', copyVars={'_image_'}}},
5 casOut={name='imagenes_satelite_puntos', caslib='casuser', replace=true},
6 annotations={{annotation={annotationType='POINTS',
7 representation={representationType='COORDINATE', x='x', y='y'},
8 color={r=255, g=255, b=0}, radius=5}}}};
9RUN;
10QUIT;

Resultado esperado


La acción procesa exitosamente los 10,000 registros. La tabla de salida `imagenes_satelite_puntos` contiene las imágenes originales, cada una con un punto amarillo de 5 píxeles de radio en la ubicación (x, y) correspondiente. La columna `_image_` se conserva en la tabla de salida.