Scénario de test & Cas d'usage
Procesamiento, manipulación y análisis de imágenes.
Descubrir todas las acciones de imageCreación de una tabla con referencias a tres imágenes: una válida, una con una ruta incorrecta (inexistente) y una que simula un formato no soportado o corrupto.
| 1 | DATA mycas.control_calidad; |
| 2 | LENGTH pieza_id $15 image_path $200 STATUS $20; |
| 3 | INPUT pieza_id $ image_path $; |
| 4 | DATALINES; |
| 5 | PIEZA_OK_001 /path/to/valid_part.jpg |
| 6 | PIEZA_BAD_002 /path/to/non_existent_part.jpg |
| 7 | PIEZA_CORRUPT_003 /path/to/corrupted_part.jpg |
| 8 | ; |
| 9 | RUN; |
| 10 | |
| 11 | PROC CAS; |
| 12 | image.loadImages / |
| 13 | path='control_calidad' |
| 14 | casOut={name='cas_calidad', caslib='mycas', replace=true} |
| 15 | TABLE={name='control_calidad', caslib='mycas'} |
| 16 | copyVars={'pieza_id'}; |
| 17 | RUN; |
| 1 | PROC CAS; |
| 2 | image.augmentImages / |
| 3 | TABLE={name='cas_calidad', caslib='mycas'} |
| 4 | augmentations={{ |
| 5 | useWholeImage=true, |
| 6 | mutations={{darken=0.7}} |
| 7 | }} |
| 8 | casOut={name='calidad_aumentada', caslib='mycas', replace=true} |
| 9 | copyVars={'pieza_id'} |
| 10 | image='_image_'; |
| 11 | RUN; |
| 1 | PROC CAS; |
| 2 | SIMPLE.numRows / |
| 3 | TABLE={name='calidad_aumentada', caslib='mycas'}; |
| 4 | fetch / |
| 5 | TABLE={name='calidad_aumentada', caslib='mycas'}; |
| 6 | RUN; |
La acción 'image.augmentImages' debe completarse sin errores fatales, aunque puede emitir advertencias (warnings) en el log de SAS sobre las imágenes que no se pudieron procesar. La tabla de salida 'calidad_aumentada' debe contener exactamente una fila, correspondiente a la imagen 'PIEZA_OK_001'. Las filas correspondientes a 'PIEZA_BAD_002' y 'PIEZA_CORRUPT_003' no deben existir en la tabla de salida, demostrando que la acción ha gestionado correctamente los errores de entrada.