Scénario de test & Cas d'usage
Procesamiento, manipulación y análisis de imágenes.
Descubrir todas las acciones de imageCrea una tabla de anotaciones en CAS (`defectos_detectados`) que contiene los identificadores de imagen y las coordenadas de las cajas delimitadoras. Se asume que una tabla con las imágenes (`piezas_produccion`) ya ha sido cargada previamente en la misma caslib.
| 1 | DATA casuser.defectos_detectados(replace=yes); |
| 2 | LENGTH _image_ $ 50; |
| 3 | LENGTH _protobuf_ $ 200; |
| 4 | _image_ = 'pieza_001.jpg'; |
| 5 | _protobuf_ = '0a...'; /* Simulación de datos protobuf para una caja delimitadora */ |
| 6 | OUTPUT; |
| 7 | |
| 8 | _image_ = 'pieza_002.jpg'; |
| 9 | _protobuf_ = '0a...'; /* Simulación de datos protobuf para otra caja */ |
| 10 | OUTPUT; |
| 11 | RUN; |
| 1 | PROC CAS; |
| 2 | LOADACTIONSET 'image'; |
| 3 | image.annotateImages / |
| 4 | images={TABLE={name='piezas_produccion', caslib='casuser', copyVars={'_image_'}}}, |
| 5 | casOut={name='piezas_anotadas_calidad', caslib='casuser', replace=true}, |
| 6 | annotations={{annotation={annotationType='PROTOBUF', |
| 7 | representation={representationType='SINGLE_COLUMN', columnName='_protobuf_', TABLE='defectos_detectados'}, |
| 8 | color={r=255, g=0, b=0}, thickness=3}}}}; |
| 9 | RUN; |
| 10 | QUIT; |
Se crea una nueva tabla CAS llamada `piezas_anotadas_calidad`. Esta tabla contiene las imágenes originales de las piezas, pero con cajas delimitadoras de color rojo y 3 píxeles de grosor dibujadas sobre las áreas donde se detectaron defectos, facilitando la inspección visual.