Pregunta:
¿Importa qué algoritmo de búsqueda de bordes utiliza?
JenSCDC
2014-10-30 18:53:43 UTC
view on stackexchange narkive permalink

Estaba jugando con un conjunto de acciones que tengo que crea máscaras de borde utilizando los algoritmos de Roberts, Robinson, Sobel, Prewitt y Kirsh. Debido a los diferentes niveles de brillo, decidí ver qué sucedía cuando usé el comando "ecualizar" en todos ellos, además de "Buscar bordes" de Photoshop.

Me sorprendió descubrir que todos de los resultados igualados fueron muy similares entre sí. Pensando en ello, a pesar de que cada algoritmo puede poner más peso en un cierto borde que los demás, todos deben detectar los mismos bordes y darles el mismo rango en importancia / brillo.

Entonces, ¿hay alguna ¿Razón para usar un algoritmo de búsqueda de bordes sobre otro excepto la conveniencia? Parece que podría usar una combinación de curvas y ecualización para hacer que los resultados de un algoritmo imiten los resultados de otro.

¡Guau hombre, muy buena pregunta! Aunque, realmente creo que esto debería ir a algún sitio de procesamiento de imágenes, o Math ...
Por cierto, Photoshop utiliza la detección de bordes "Robinson Compass", que está en su lista. Vea [este enlace] (http://www2.it.lut.fi/kurssit/03-04/010588001/seminars/sem6_4.pdf)
Los filtros funcionan de manera ligeramente diferente, algunos serán más resistentes al ruido que otros.
Consulte [este PDF] (http://www.ijcst.com/vol32/6/bramesh.pdf) para conocer las diferencias de los algoritmos de detección de bordes.
@TFuto: gracias también por el enlace al artículo. ¿Sabe si existen otros tipos de detección de bordes además de la detección de bordes basada en gradientes y laplaciana?
@BShaw: No tengo conocimiento de nada más, pero puedo imaginar que si define lo que quiere decir con "borde", puede crear otro enfoque. P.ej. se podría entrenar una red neuronal para detectar ciertos patrones de borde después de algún preacondicionamiento de entrada.
Hay dos más que conozco: Diferencia de gaussiano y laplaciano de gaussiano. http://www.cse.psu.edu/~rcollins/CSE486/lecture11_6pp.pdf
Esta pregunta parece estar fuera de tema porque se trata de algoritmos de procesamiento de imágenes, no de fotografía.
Entonces ... ¿ese pequeño control deslizante en Lightroom etiquetado como "Máscara" no tiene nada que ver con la fotografía?
Dos respuestas:
geometrikal
2015-01-16 08:32:09 UTC
view on stackexchange narkive permalink

Existen bastantes algoritmos de procesamiento de imágenes además de los que se usan comúnmente en el software fotográfico. Cada uno está diseñado para mejorar ciertas propiedades. Por ejemplo, algunas propiedades comunes son:

  • velocidad
  • localización (una buena localización significa que la respuesta del detector es solo alta cerca del borde)
  • tamaño del borde (p. ej., solo detecta bordes grandes)
  • rectitud de los bordes
  • ruido (capta el ruido de sal y pimienta como bordes)
  • respuesta de esquina (reconoce esquinas como bordes)
  • invariancia rotacional (los bordes dan la misma respuesta independientemente del ángulo)
  • invariancia de iluminación (los bordes dan la misma respuesta independientemente del brillo)

Ningún detector de bordes puede hacerlo todo: por ejemplo, los detectores invariantes de iluminación a menudo detectarán artefactos jpeg como bordes, y los detectores invariantes de rotación verdaderos suelen ser lentos.

Un ejemplo visual de http://www.sci.utah.edu/~cscheid/spr05/imageprocessing/project4/, muestra la imagen y su detección de bordes "Canny" usando un umbral bajo. Podemos ver los artefactos jpeg con claridad.

enter image description here enter image description here

Los detectores de bordes en el software fotográfico a menudo se eligen por su velocidad. Esto generalmente significa granos pequeños (tamaño de vecindario).

Aquí hay un ejemplo de una imagen de prueba con la respuesta del detector de bordes y la respuesta con umbralización y esqueletización:

enter image description here

Sobel y Prewitt son similares, pero solo usan dos núcleos (uno xy otro y; consulte el enlace pdf de TFuto en los comentarios a la pregunta para obtener más información). Tienen peor localización que el método de Roberts. El método de Roberts usa ocho núcleos (N, NE, E, SE, S, SW, W, NW) y, por lo tanto, también es más invariante en rotación y parece manejar mejor las esquinas. El Laplaciano de Gauss (LoG) se ve completamente diferente ya que usa cruces por cero para encontrar los bordes de las líneas, pero tiene problemas con las esquinas.

Para una fotografía normal, muchos métodos que devuelven una respuesta de intensidad de borde simple (por ejemplo, Nobel, Prewitt, Roberts, no LoG) pueden parecer similares. Si la imagen tiene un contraste nítido, las diferencias pueden volverse más evidentes.

Parece que podría usar una combinación de curvas y ecualización para hacer que los resultados de un algoritmo imiten los resultados de los de otro.

Si los núcleos son bastante similares, entonces esto es posible. Los métodos de Sobel y Prewitt son en su mayoría indistinguibles a pesar de que el método de Sobel pesa más el centro.

¿Importa qué buscador de bordes usas?

  • Para imágenes computacionales, , puede marcar una gran diferencia para aplicaciones como detección de características e imágenes estéreo.

  • Para fotografía, depende del método que le brinde los mejores resultados y de lo que esté tratando de lograr. Por ejemplo, un método que ofrece un contraste muy nítido también puede introducir mucho ruido.

JenSCDC
2014-11-16 23:52:39 UTC
view on stackexchange narkive permalink

Acabo de recordar que hay otra forma de crear máscaras de "borde". El módulo de enmascaramiento de Picture Window Pro tiene una "función de enmascaramiento de textura", donde tiene tres opciones de método y tres tamaños de ventana para elegir. Según el archivo de ayuda, creo que este tipo de búsqueda de bordes siempre producirá resultados únicos. En las propias palabras del manual de PWP

"La configuración de diferencia máxima calcula la textura como la mayor diferencia entre el píxel central y todos los demás píxeles en su vecindario. La configuración de diferencia promedio calcula la textura como la diferencia promedio más grande entre el píxel central y todos los demás píxeles en su vecindario. La configuración Diferencia del promedio calcula la textura como la diferencia entre el píxel central y el promedio de todos los demás píxeles en su vecindario. Estos tres métodos generalmente producen resultados similares con la diferencia máxima que produce la mayor cantidad efectos pronunciados y Diferencia del promedio que produce el efecto más sutil.

Tamaño del vecindario

El tamaño del vecindario se puede seleccionar como 3 x 3, 5 x 5 o 7 x 7. Esto selecciona el tamaño del área alrededor cada píxel se considera su vecindario. Los valores más pequeños son mejores para captar detalles finos, pero los valores más grandes pueden funcionar mejor para imágenes más borrosas ".



Esta pregunta y respuesta fue traducida automáticamente del idioma inglés.El contenido original está disponible en stackexchange, a quien agradecemos la licencia cc by-sa 3.0 bajo la que se distribuye.
Loading...