Que me había pedido esta en la foto stackexchange, pero pensé que podría ser relevante aquí también, ya que quiero aplicar esto a través de programación en mi aplicación.

Estoy tratando de implementar un desenfoque algoritmo de detección para que la imagen de mi canal. El desenfoque que quiero detectar es tanto –

1) el movimiento de la Cámara: las Imágenes capturadas con la mano que mueve o agita cuando la velocidad de obturación es menor.

2) Lente de enfoque errores – (Profundidad de Campo) los temas que, como el enfoque en un objeto incorrecto causando un poco de desenfoque.

3) el desenfoque de Movimiento: Rápido movimiento de los objetos en la escena, captada mediante un no es lo suficientemente alta velocidad de obturación. E. g. Un coche en movimiento una noche podría mostrar un rastro de su faro/luz de la cola en la imagen como una imagen borrosa.

¿Cómo se puede detectar este desenfoque y cuantificar de alguna manera para hacer algunos decisión basada en que la calculada «desenfoque métrica’?

¿Qué es la teoría detrás de desenfoque de detección?

Estoy en busca de buen material de lectura con el que puedo implementar algún algoritmo para esto en C/Matlab.

gracias.

-AD.

InformationsquelleAutor goldenmean | 2011-03-03

3 Comentarios

  1. 36

    El desenfoque de movimiento y el movimiento de la cámara son el tipo de la misma cosa cuando usted piensa acerca de la causa: movimiento relativo de la cámara y el objeto. Usted menciona la velocidad de obturación lenta, es un culpable en ambos casos.

    Enfoque misses son subjetivas, ya que dependen de la intención en el fotógrafo. Sin saber lo el fotógrafo quería centrarse en, es imposible lograr esto. E incluso si usted hacer saber lo que quería centrarse en, todavía no sería trivial.

    Con esa dosis de realismo a un lado, permítame asegurarle que el desenfoque de detección es en realidad un muy activo campo de investigación, y ya hay un par de métricas que usted puede probar en sus imágenes. Aquí están algunas de las que he utilizado recientemente:

    • Ancho de borde. Básicamente, realizar la detección de bordes en la imagen (usando Canny o de otro tipo) y, a continuación, medir el ancho de los bordes. Imágenes borrosas tendrá mayor bordes que están más repartidos. Imágenes más nítidas tendrá los bordes más delgados. Google por «Un no-referencia de percepción de desenfoque métrica» por Marziliano — es un famoso artículo que describe este enfoque lo suficientemente bien como para una implementación completa. Si usted está tratando con desenfoque de movimiento, entonces los bordes borrosos (ancho) en la dirección del movimiento.
    • Presencia de detalle fino. Mira mi respuesta a esta pregunta (editada parte).
    • Dominio de la frecuencia enfoques. Tomando el histograma de los coeficientes de la DCT de la imagen (suponiendo que está trabajando con JPEG) le dará una idea de cuánto los detalles finos de la imagen. Esta es la forma en agarrar la DCT coeficientes de un archivo JPEG directamente. Si el recuento de la no-DC términos es baja, es probable que la imagen es borrosa. Esta es la forma más sencilla, hay enfoques más sofisticados en el dominio de la frecuencia.

    Hay más, pero creo que eso debería ser suficiente para empezar. Si necesita más información sobre cualquiera de estos puntos, el fuego de Google Scholar y mirar a su alrededor. En particular, echa un vistazo a las referencias de Marziliano del papel para obtener una idea acerca de lo que ha sido intentado en el pasado.

    • gracias por los punteros. Seguro que me tiene que empezar!! ¿Te importa si tengo un ping de regreso Si tengo más preguntas acerca de la implementación de la Marziliano et al, papel, después de haber pasado a través de la lectura inicial de que y de otro material? Si sí, tendría que dejar su id de correo electrónico para mí, desde mi stackoverflow página de perfil. Mi id de correo electrónico está ahí codificado en mi página de perfil.
    • SSIM basado en detalle el análisis puede ser que necesite una imagen de referencia, que yo no tengo. Necesito hacer un «sin referencia» desenfoque métrica de la computación.
    • leer el SSIM relacionados con la cuestión más detenidamente. Es el uso de SSIM en un no-escenario de referencia (utilizando de forma iterativa degradado copias de la imagen de entrada como referencia).
  2. 6

    Hay un gran papel que se llama : «análisis de enfoque medida que los operadores de la forma-de-foco» (https://www.researchgate.net/publication/234073157_Analysis_of_focus_measure_operators_in_shape-from-focus) , que hace una comparación de alrededor de 30 diferentes técnicas.

    De todas las diferentes técnicas, el «Laplaciano» métodos basados parecen tener el mejor rendimiento. La mayoría de los programas de procesamiento de imágenes como : MATLAB o OPENCV ya han aplicado este método . A continuación es un ejemplo del uso de OpenCV : http://www.pyimagesearch.com/2015/09/07/blur-detection-with-opencv/

    • He leído que el papel, pero no podía, concluyó el Laplaciano basado en métodos son los mejores. ¿Cómo llegaste a la conclusión de que, por [email protected]
    • La conclusión de que el papel dice «los Experimentos han demostrado que el Laplaciano de los operadores que tienen el mejor desempeño general en condiciones normales de las condiciones de formación de imágenes». Los métodos que están disponibles en el archivo de matlab cambio aquí: au.mathworks.com/matlabcentral/fileexchange/27314-focus-measure
  3. 0

    Sólo para agregar en el enfoque de errores, estos pueden ser detectados mediante la comparación de la psf de la captura de imágenes borrosas (amplio) con referencia a (más agudo). Deconvolución técnicas pueden ayudar a corregirlos, pero dejando artificial errores (sombras, ondulación, …). Un campo de luz de la cámara puede ayudar a reorientar a cualquier profundidad de los planos, ya que captura el angular de la información además de los tradicionales de carácter espacial de la escena.

Dejar respuesta

Please enter your comment!
Please enter your name here