Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Procesamiento por lotes mediante la aplicación procesador por lotes de imágenes

En este ejemplo se muestra cómo usar la aplicación Procesador de lotes de imágenes para procesar un grupo de imágenes en la misma carpeta. La operación de procesamiento por lotes suele seguir estos pasos.

Abrir la aplicación de procesador por lotes de imágenes

En esta parte del ejemplo se muestra cómo abrir la aplicación Procesador de lotes de imágenes.

En la tira herramientas, en la pestaña Aplicaciones, en el grupo Procesamiento de imágenes y Visión de equipo, haga clic enMATLABImage Batch Processor. También puede abrir la aplicación en la línea de comandos mediante el comando.imageBatchProcessor (Si tienes , la aplicación incluye el botón.)Parallel Computing Toolbox™Use Parallel

imageBatchProcessor

Cargar imágenes en la aplicación de procesador de lotes de imágenes

En esta parte del ejemplo se muestra cómo cargar imágenes en la aplicación Procesador por lotes de imágenes.

En este ejemplo, cree una nueva carpeta en un área donde tenga permiso de escritura y cargue un conjunto de 10 imágenes desde la carpeta.Image Processing Toolbox™imdata

mkdir('cellprocessing'); copyfile(fullfile(matlabroot,'toolbox','images','imdata','AT3*.tif'),'cellprocessing');

Haga clic y especifique la carpeta que contiene las imágenes que desea procesar en el cuadro de diálogo.Load ImagesLoad Images from Folder En este ejemplo, especifique la carpeta que creó en el primer paso y, a continuación, haga clic en .cellprocessingLoad De forma predeterminada, la aplicación incluye imágenes en subcarpetas. Para cambiar este comportamiento, desactive la casilla de verificación.Include images in subfolders

La aplicación Procesador por lotes de imágenes crea miniaturas de las imágenes de la carpeta y las muestra en un panel desplazable. La aplicación muestra la primera imagen seleccionada en mayor resolución en el panel Imagen de entrada.

Especifique la función de procesamiento por lotes

Esta parte del ejemplo muestra cómo especificar la función que desea ejecutar en todas las imágenes.

Especifique el nombre de la función que desea utilizar para procesar las imágenes de la carpeta. Para especificar una función existente, escriba su nombre en el campo o haga clic en el icono de carpeta para examinar y seleccionar la función.Function name Para crear una nueva función de procesamiento por lotes, haga clic en .New La aplicación abre la plantilla de función de procesamiento por lotes en el Editor.MATLAB En este ejemplo se crea un nuevo clic de función y clic .New

Edite la plantilla de función de procesamiento por lotes abierta en el Editor.MATLAB Pegue el código en el espacio reservado en el archivo de plantilla y haga clic en .Save En el ejemplo se utiliza el nombre de función predeterminado, , pero puede asignar otro nombre a la función.myimfcn El código de ejemplo crea una imagen de máscara, calcula el número total de celdas de la imagen y crea una versión de umbral de la imagen original.

function results = myimfcn(im) %Image Processing Function % % IM      - Input image. % RESULTS - A scalar structure with the processing results. %  %-------------------------------------------------------------------------- % Auto-generated by imageBatchProcessor App.  % % When used by the App, this function will be called for every input image % file automatically. IM contains the input image as a matrix. RESULTS is a % scalar structure containing the results of this processing function. % %--------------------------------------------------------------------------  imstd = stdfilt(im,ones(27)); bw    = imstd>30;  thresholdMask = imfuse(im, bw); [~, n] = bwlabel(bw);  results.bw = bw; results.thresholdMask = thresholdMask; results.numCells = n; 

Al guardar el archivo, la aplicación muestra el nombre de la nueva función en el campo.Function name

Realizar la operación en las imágenes

En esta parte del ejemplo se muestra cómo procesar todas las imágenes de una carpeta (o un subconjunto de las imágenes) en una sola operación.

Ejecute el procesador por lotes en una de las imágenes como una prueba de la función. Puede ser útil probar la función de procesamiento por lotes en una de las imágenes y comprobar los resultados antes de ejecutarla en todas las imágenes. Cuando esté seguro de que la función funciona correctamente, ejecute la función en todas las imágenes de la carpeta. Con una imagen seleccionada, haga clic para procesar la imagen seleccionada.Process Selected

Examine los resultados de la ejecución de la prueba. La aplicación muestra los resultados del procesamiento en una nueva pestaña llamada .Results En este ejemplo, la aplicación muestra la máscara binaria, un recuento del número de objetos (células) de la imagen y una versión de umbral de la imagen. Para obtener una vista más cercana de los resultados de la imagen, haga clic en .Show La aplicación abre una versión de resolución más grande de la imagen en otra pestaña. Puede utilizar las opciones de zoom y panorámica para examinar la imagen. Al hacer zoom y panorámica, la aplicación vincula la imagen de resultado a la imagen original: mover o hacer zoom en una hace que la otra imagen se mueva.

Si los resultados de la ejecución de prueba se realizan correctamente, ejecute la función en todas las imágenes de la carpeta de entrada. Haga clic en el menú de opciones adicionales del botón y seleccione .Process SelectedProcess All También puede seleccionar las varias imágenes que desea procesar utilizando .Ctrl-ClickMayúsculas+Clic Si tiene , puede hacer clic para procesar las imágenes en un grupo paralelo local.Parallel Computing ToolboxUse Parallel

La aplicación procesa todas las imágenes en la carpeta especificada, rellenando el cuadrado junto a los nombres de miniaturas con verde. La pestaña contiene los resultados de la imagen seleccionada.Results

Obtener los resultados de la operación de procesamiento por lotes

Esta parte del ejemplo muestra cómo obtener los resultados de la operación de procesamiento por lotes

Haga clic para ver las opciones disponibles.Export Puede exportar los resultados al área de trabajo o a un archivo, o puede obtener el código que la aplicación usó para generar los resultados.MATLAB

Elija la opción para guardar los resultados en una variable de espacio de trabajo.Export result of all processed images to workspace Seleccione los resultados que desea guardar y haga clic en .OK Un enfoque común es guardar los resultados que no son de imagen en el espacio de trabajo y guardar las imágenes que resultan del procesamiento en archivos. En el ejemplo se guarda el recuento de celdas junto con el nombre del archivo de entrada en la variable de área de trabajo.numCells

De forma predeterminada, la aplicación devuelve los resultados que elija en una tabla denominada .allresults Puede especificar otro nombre y también puede elegir almacenar los resultados en una estructura en su lugar. Si selecciona , la aplicación incluye el nombre de la imagen asociada con los resultados.Include input image file name

   numCells                      fileName                        ________    _____________________________________________      7           'C:\cellprocessing\cellimages\AT3_1m4_10.tif'     7           'C:\cellprocessing\cellimages\AT3_1m4_01.tif'     7           'C:\cellprocessing\cellimages\AT3_1m4_02.tif'     7           'C:\cellprocessing\cellimages\AT3_1m4_03.tif'     7           'C:\cellprocessing\cellimages\AT3_1m4_04.tif'     7           'C:\cellprocessing\cellimages\AT3_1m4_05.tif'     6           'C:\cellprocessing\cellimages\AT3_1m4_06.tif'     7           'C:\cellprocessing\cellimages\AT3_1m4_07.tif'     9           'C:\cellprocessing\cellimages\AT3_1m4_08.tif'     7           'C:\cellprocessing\cellimages\AT3_1m4_09.tif'

Elija la opción para guardar las imágenes producidas por el procesamiento por lotes. Export result of all processed images to files Seleccione el formato de archivo para cada archivo devuelto y haga clic en .OK De forma predeterminada, la aplicación almacena los archivos en la misma carpeta que especificó al cargar las imágenes, pero puede especificar otra carpeta.

Aquí es lo que la carpeta se ve como después de guardar los resultados en los archivos.

06/19/2005  10:06 PM           310,202 AT3_1m4_01.tif 12/12/2015  11:22 AM             3,822 AT3_1m4_01_bw.tif 12/12/2015  11:22 AM           929,544 AT3_1m4_01_thresholdMask.tif 06/19/2005  10:06 PM           310,434 AT3_1m4_02.tif 12/12/2015  11:22 AM             3,840 AT3_1m4_02_bw.tif 12/12/2015  11:22 AM           929,550 AT3_1m4_02_thresholdMask.tif 06/19/2005  10:06 PM           310,314 AT3_1m4_03.tif 12/12/2015  11:22 AM             3,756 AT3_1m4_03_bw.tif 12/12/2015  11:22 AM           929,508 AT3_1m4_03_thresholdMask.tif 06/19/2005  10:06 PM           310,336 AT3_1m4_04.tif 12/12/2015  11:22 AM             3,806 AT3_1m4_04_bw.tif 12/12/2015  11:22 AM           929,512 AT3_1m4_04_thresholdMask.tif 06/19/2005  10:06 PM           310,378 AT3_1m4_05.tif 12/12/2015  11:22 AM             3,744 AT3_1m4_05_bw.tif 12/12/2015  11:22 AM           929,518 AT3_1m4_05_thresholdMask.tif 06/19/2005  10:06 PM           310,342 AT3_1m4_06.tif 12/12/2015  11:22 AM             3,730 AT3_1m4_06_bw.tif 12/12/2015  11:22 AM           929,538 AT3_1m4_06_thresholdMask.tif 06/19/2005  10:06 PM           310,352 AT3_1m4_07.tif 12/12/2015  11:22 AM             3,756 AT3_1m4_07_bw.tif 12/12/2015  11:22 AM           929,532 AT3_1m4_07_thresholdMask.tif 06/19/2005  10:06 PM           310,364 AT3_1m4_08.tif 12/12/2015  11:22 AM             3,746 AT3_1m4_08_bw.tif 12/12/2015  11:22 AM           929,482 AT3_1m4_08_thresholdMask.tif 06/19/2005  10:06 PM           310,266 AT3_1m4_09.tif 12/12/2015  11:22 AM             3,732 AT3_1m4_09_bw.tif 12/12/2015  11:22 AM           929,500 AT3_1m4_09_thresholdMask.tif 06/19/2005  10:06 PM           310,288 AT3_1m4_10.tif 12/12/2015  11:22 AM             3,718 AT3_1m4_10_bw.tif 12/12/2015  11:22 AM           929,504 AT3_1m4_10_thresholdMask.tif 

Elija la opción para obtener el código que la aplicación utilizó para procesar sus archivos. Generate functionMATLAB La aplicación genera una función que acepta el nombre de la carpeta de entrada y el nombre de la carpeta de salida como argumentos de entrada. De forma predeterminada, la función devuelve una tabla con los resultados, pero puede elegir una estructura en su lugar. Para los resultados de la imagen, puede especificar el formato de archivo y si desea que la función escriba la imagen en la carpeta de salida especificada. Para obtener el código, haga clic en .OK