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 con la aplicación procesador por lotes de imágenes

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

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

Esta parte del ejemplo muestra cómo abrir la aplicación procesador por lotes de imágenes.

En la franja de 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 lo tiene, la aplicación incluye el botón.)Parallel Computing Toolbox™Use Parallel

imageBatchProcessor

Cargue imágenes en la aplicación procesador por lotes de imagen

Esta parte del ejemplo muestra cómo cargar imágenes en la aplicación procesador por lotes de imagen.

Para este ejemplo, cree una nueva carpeta en un área donde tenga permiso de escritura y cargue un conjunto de 10 imágenes de 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 imagen crea miniaturas de las imágenes en 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 una nueva función-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 El ejemplo utiliza el nombre de función predeterminado, pero puede dar a la función otro nombre.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 con 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

Realice la operación en las imágenes

Esta parte del ejemplo 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 sus imágenes como prueba de su 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 ejecutarse en todas las imágenes. Cuando esté satisfecho 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 pruebas. 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 (celdas) de la imagen y una versión con 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 panoramizar, la aplicación vincula la imagen de resultado a la imagen original, moviéndose o haciendo zoom en una hace que la otra imagen se mueva.

Si los resultados de la 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 varias imágenes para procesarlos utilizando o.Pulse Ctrl y haga clicPulse Mayús y haga clic Si lo 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

Obtenga 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 espacio de trabajo o a un archivo, o puede obtener el código utilizado por la aplicación 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 de sin en el espacio de trabajo y guardar las imágenes que resultan del procesamiento en los archivos. En el ejemplo se guarda el recuento de celdas junto con el nombre del archivo de entrada en la variable de espacio 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 optar por 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.

Así es como se ve la carpeta 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 utilizado por la aplicación 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