Enmascara automáticamente fuera de foco parte de una imagen


9

Para un proyecto de investigación, sería útil obtener solo la parte enfocada de una imagen. ¿Alguien sabe de algún software que pueda hacer esto? Sé que la próxima versión (en unas pocas semanas) de Photoshop CC tendrá algo parecido, pero ¿hay otras opciones?


Para su información, su uso de "get" es muy ambiguo aquí. ¿Qué quieres decir con "obtener solo esta parte" de la imagen? ¿Quiere decir que son los únicos píxeles que desea que queden en el archivo? ¿O simplemente desea identificar esta área para algún tipo de análisis o qué? "Seleccionar" sería un término mejor, o "enmascarar" o incluso "identificar"
Jasmine

Si tiene más de una imagen, (es decir, similar al apilamiento de enfoque pero sin apilamiento real), tendría una respuesta que le proporcionaría máscaras enfocadas.
Unapiedra

Buen punto @Jasmine. Tengo ramas de un arbusto enfocadas contra un fondo de árboles / arbustos (poner una tecla azul no es una opción), así que para reducir el error quiero limitar el análisis a las ramas. Esto se puede hacer enmascarando o tener un archivo reducido con solo los píxeles enfocados.
LaurensP

@Unapiedra, es la primera vez que escuchas sobre el apilamiento de enfoque. ¿Cómo me daría ese método o derivado una máscara enfocada? Tendré varias fotos al día durante un mes, marco fijo y distancia focal.
LaurensP

@LaurensP: No ayudaría en este caso. Sospecho firmemente que su pregunta es incorrecta aquí: es una pregunta de programación y debe trasladarse a StackOverflow. También puede ampliar su pregunta para decir lo que realmente quiere hacer / analizar / etc. Hasta ahora reveló que desea analizar las ramas de un arbusto, cómo y por qué no lo dijo. ¿Quizás la agrupación y la segmentación es una opción? Sube una imagen de muestra, mientras estás en ello.
Unapiedra

Respuestas:


5

Normalmente uso GIMP para eso --- esto probablemente necesita ser refinado para procedimientos automáticos. Mi procedimiento es el siguiente:

  1. Cargo la imagen, en este caso http://rlog.rgtti.com/wp-content/uploads/2013/01/10/macro-lenses-are-expensive-all-of-them/paseo_15sep_more_rosse.jpg

  2. Ahora copio la capa de fondo y transformo la nueva capa a escala de grises.

  3. Aplico edge-detect por diferencia de gaussian:

ingrese la descripción de la imagen aquí

jugando con los parámetros para tener un área agradable definida. Aplicar el filtro

  1. Ahora aplica un umbral a la imagen:

ingrese la descripción de la imagen aquí

... y este es un mapa de su nitidez (la cantidad de nitidez que decida en el paso anterior estableciendo los parámetros para los filtros).

  1. Ahora puede utilizar las "herramientas de selección por color", hacer clic en el negro y luego aumentar un poco la selección:

ingrese la descripción de la imagen aquí

... una vez que esté satisfecho, puede guardar la selección en un canal.

Tenga en cuenta que la selección no incluye las áreas afiladas que están uniformemente coloreadas, sin bordes. No conozco ninguna forma de hacerlo automáticamente (¿es posible?); pero puedes copiar el canal a una nueva capa y

  1. edite manualmente la capa para llenar las áreas afiladas con negro:

ingrese la descripción de la imagen aquí

... y repita el procedimiento de selección por color para crear una nueva máscara.


Esto le dará áreas texturizadas (con bordes). Su uso del cultivo es inteligente, pero el resultado no es perfecto. Mire el interior de la hoja en el lado izquierdo. Está enfocado, pero no completamente negro en la máscara. Creo que esto podría ser imposible de resolver, ya que no se puede distinguir entre desenfocado y sin textura.
Unapiedra

0

En Hugin puedes usar una herramienta que lo haga. Se llama enfuse.

Problema : solo funciona en varias imágenes.

Aquí puede encontrar un tutorial sobre el uso de enfuse para apilar el foco. Puede obtener las máscaras (que es lo que desea) mediante el uso --save-masks.

enfuse --exposure-weight=0 --saturation-weight=0 --contrast-weight=1 \
       --hard-mask --save-masks --output=base.tif INPUTImage*.tif

Sin embargo, tenga en cuenta que si bien esto es automático, el enfoque básico es el mismo que la respuesta de Rmano: detectar un gran contraste local. Para obtener una explicación mucho más detallada, eche un vistazo a Detección de contraste local y Apilamiento de enfoque avanzado en la documentación de Enfuse.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.