¿Existe algún programa que pueda analizar la resolución "real" de una imagen?


8

Tomemos la imagen A: imagen de 2560 * 1920 píxeles en enfoque perfecto. Afilada como una navaja de afeitar. Eso es 5 Mpix.

Tomemos la imagen B: la imagen A cambió de tamaño a 5120 * 3840. Ahora es un archivo de 20 Mpix, pero no hay datos nuevos en la imagen, así que, usando el sentido común, sigue siendo solo un archivo de 5 Mpix, simplemente "hinchado".

Teóricamente, uno debería ser capaz de reducir gradualmente las dimensiones de la imagen B hasta que se detecte una nitidez razonable (acercándola lo más posible a la imagen A, aunque sin realmente compararlas en este punto), y así derivar el recuento "verdadero" de megapíxeles de la imagen: el tamaño por debajo del cual las imágenes comienzan a perder sus detalles.

Este valor podría usarse fácilmente para determinar la utilidad de una foto: si la tomo ligeramente desenfocada, aún puedo imprimirla en un tamaño más pequeño y nadie lo notará. O podría ayudar a evaluar la calidad de la lente o el sensor: si una cámara de 24 Mpix no puede capturar una imagen con más de 8 Mpix "verdaderos", entonces algo no está bien.

Entonces, ir al grano: ¿hay un programa de software que haga exactamente eso? ¿O estoy condenado a escribir el mío?


De un comentario del OP a una de las respuestas:

Necesito medir cuántos detalles está obteniendo realmente mi escáner de transparencia positiva, antes de escanear una colección de aproximadamente 2000 diapositivas viejas y considerarlo digitalizado. Si lo configuro a 19200 ppp ópticos o algo así, y sigue produciendo imágenes con detalles perdidos, igual a, digamos, una cámara de 5 Mpix, entonces sabré que es malo.

Este es el problema real que la pregunta quiere resolver. Todo lo anterior se trata de una solución percibida para ese problema raíz.


Me gusta la pregunta Desde la perspectiva de los fotógrafos, estoy de acuerdo con la respuesta de StephenG, pero desde la perspectiva de un ingeniero de TI no estoy de acuerdo. Pero entonces la pregunta podría estar mejor ubicada en DSP SE: dsp.stackexchange.com
pLumo


Desde un comentario del OP hasta una de las respuestas: "Necesito medir cuántos detalles realmente está obteniendo mi escáner de transparencia positiva, antes de escanear una colección de aproximadamente 2000 diapositivas viejas y considerarlo digitalizado. Si lo configuro en 19200 óptico dpi o algo así, y sigue produciendo imágenes con detalles perdidos, igual a, digamos, una cámara de 5 Mpix, entonces sabré que es malo ". Este es el verdadero problema que necesita ser resuelto aquí. La forma en que se hace esta pregunta es un problema X → Y. Es decir, el OP pregunta cómo lograr una solución percibida, en lugar de preguntar cómo resolver el problema raíz.
Michael C

Respuestas:


4

Un enfoque podría ser calcular la transformación de Fourier bidimensional de la imagen y tratar de decidir la frecuencia espacial por encima de la cual la transformación (o, por ejemplo, su potencia) se convierte en ruido, es decir, sin correlación y pequeña. ¿Nunca ha intentado algo como esto, pero debe estar conectado de alguna manera con una definición rigurosa de resolución?


Convenido; ya sea una FFT 2D o una transformada discreta de coseno 2D (DCT) sería el enfoque más sencillo para calcular la resolución efectiva de una imagen. Con eso, podría reconocer cuándo la resolución se limitó independientemente de si fue causada por la calidad del vidrio, el enfoque incorrecto, la limitación de difracción, la compresión de imágenes pesadas, etc.
dgatwood

Eso es lo que estaba pensando también, solo pensé que alguien podría haber construido una herramienta como esa. Esto debería responder efectivamente a la pregunta "¿esta imagen aprovecha al máximo su resolución", y después de alguna calibración debería hacerla comparable a otros tamaños. Iré con este. ¡Gracias!
Sinus Mackowaty

5

Teóricamente, uno debería ser capaz de reducir gradualmente las dimensiones de la imagen B hasta que se detecte una nitidez razonable (acercándola lo más posible a la imagen A, aunque sin realmente compararlas en este punto), y así derivar el recuento "verdadero" de megapíxeles de la imagen: el tamaño por debajo del cual las imágenes comienzan a perder sus detalles.

Empiezas asumiendo que la imagen B no tiene más detalles. Pero incluso una región completamente plana tiene detalles, es solo que es plana.

La falta de detalles o cambios no denota una falta de datos de imagen o resolución válidos.

Este valor podría usarse fácilmente para determinar la utilidad de una foto: si la tomo ligeramente desenfocada, aún puedo imprimirla en un tamaño más pequeño y nadie lo notará.

Esto no funcionará como piensas.

Las personas, en mi experiencia, no se preocupan por los detalles en una imagen tanto como se preocupan por el contenido emocional y / o informativo. Lo que la imagen les hace sentir o lo que la imagen les dice o ambos.

A menos que una imagen tenga un enfoque excepcionalmente pobre, generalmente está bien para algún propósito. Las únicas personas, en mi experiencia, que se preocupan por un enfoque perfecto son los fotógrafos y los editores de medios (y los editores se están volviendo menos quisquillosos en estos días).

Una vez tuve una foto (técnicamente mala) de la hija de un pariente que tenía desenfoque de movimiento, movimiento de la cámara, enfoque deficiente e iluminación pésima.

Se ha fijado en su muro de fotos durante más de una década. Ninguna protesta por mi parte u oferta para dispararlo nunca ha funcionado, por cierto. A ellos les gusta esa foto.

El valor de una imagen no está definido por su nitidez o detalle resuelto, excepto en entornos comerciales muy particulares e incluso allí no es la prioridad principal. Ningún editor de noticias se preocupará por los pocos detalles que realmente hay en, por ejemplo, esa foto "exclusiva" de alguna celebridad en vacaciones o, de hecho, alguna víctima de la última indignación.

O podría ayudar a evaluar la calidad de la lente o el sensor:

Tienen gráficos de resolución para eso. Esos son patrones fijos bien definidos y adecuados para el análisis por computadora. Eche un vistazo al sitio web de DxOMark en algún momento.

Probar la resolución contra cualquier cosa que no sea un objetivo bien definido y precisamente conocido no tiene sentido.

si una cámara de 24 Mpix no puede capturar una imagen con más de 8 Mpix "verdaderos", entonces algo no está bien.

El hecho de que un sensor no capture más detalles no significa que haya algo mal aparte de sus expectativas.

Los detalles capturados dependen de muchos factores. Primero la existencia del detalle. Luego las condiciones de disparo, la apertura y las características ópticas de la lente. La iluminación, la velocidad de obturación, ISO y características de ruido. Limitaciones de difracción.

La realidad es que los recuentos de píxeles tienen mucho menos en la práctica que ver con la cantidad de detalles que realmente obtienes al disparar que muchos otros factores que limitan lo que es posible o práctico.


3
Aunque muchos de sus puntos son válidos, solo responden a casos específicos de los posibles usos que mencioné. Los gradientes simples y sin rasgos son obviamente inconmensurables usando los métodos que estoy imaginando, pero son un caso marginal. Las tablas de resolución no ayudarán con lentes dañados o mal calibrados. El "megapíxel perceptual" de DxOMark ha sido ampliamente discutido. Claro, las imágenes ligeramente desenfocadas a veces son igual de útiles, pero ¿qué pasa con las REALMENTE borrosas? Pueden convertirse en miniaturas u otras miniaturas, pero eso generalmente se determina "a simple vista", mientras que podría calcularse hasta cierto punto.
Sinus Mackowaty

Si particularmente desea hacer esto, haga una búsqueda en la web para "medir la nitidez de la imagen", que le dará algunos enlaces a trabajos de investigación sobre este tema. Si no tienes inclinación matemática, te sugiero omitir esto. Puede rastrear algún código fuente abierto para esto, pero yo mismo no conozco ninguno.
StephenG

2
Y, para agregar otro punto al argumento de "superficies planas": esto es exactamente lo que quiero decir, como uno de los ejemplos. Una foto de una superficie plana sin muchos bordes y detalles podría, técnicamente, tomarse con una cámara mucho más pobre, sin pérdida de calidad. En un caso práctico específico, necesito medir cuántos detalles está obteniendo realmente mi escáner de transparencia positiva, antes de escanear una colección de aproximadamente 2000 diapositivas viejas y considerarlo digitalizado. Si lo configuro a 19200 ppp ópticos o algo así, y sigue produciendo imágenes con detalles perdidos, igual a, digamos, una cámara de 5 Mpix, entonces sabré que es malo.
Sinus Mackowaty

1
Si descubro que el escáner que tengo es una mierda y podría hacerlo mucho mejor comprando uno diferente, perderé mucho tiempo construyendo la mecánica de automatización, cualesquiera que sean. Prefiero no maldecirme para siempre por arruinar la única vez que voy a pasar por eso :)
Sinus Mackowaty

1
"(y los editores están cada vez menos quisquillosos en estos días)". Solo cuando no están pagando por la imagen.
Michael C

1

Después de experimentar un poco, terminé haciendo una serie de imágenes reducidas, mejoradas y comparadas con las originales. Si hubo una diferencia máxima significativa en los valores de píxeles, la calidad se considera perdida. Si hay poca pérdida, significa que la foto original no fue genial para empezar. Publicaré un fragmento de PHP más tarde.

Lamentablemente, las imágenes que están borrosamente direccionalmente, o que están borrosas pero tienen algunos artefactos nítidos del procesamiento, terminan considerándose nítidas, y no creo que haya una forma de evitar esto.


¿Qué tipo de remuestreo hiciste al escalar? ¿Vecino más cercano, interpolación lineal, interpolación cuadrática, gaussiana, Dodgson u otra cosa?
Michael

@Michael: IIRC, usé lineal por simplicidad.
Sinus Mackowaty
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.