Quiero encontrar similitud entre dos imágenes diferentes

-1

Tengo dos fotos, una de ellas tiene una buena resolución tomada por la cámara y otra es ruidosa y capturada de un video.

¿Cómo puedo compararlos? ¿Hay algún software para esto?

ChrisF
fuente
¿Qué parámetro quieres comparar? resolución / dimensión / grado de ruido? El grado de ruido es difícil de detectar.
Raptor

Respuestas:

1

Tu podrías intentar Imagemagick , tiene una versión para Windows, y he visto que se usa para comparar imágenes. Hay algunos buenos ejemplos. aquí .

millhouse
fuente
0

Bueno, no puedo decirle el software, pero ciertamente puedo ayudarlo con algunos conocimientos técnicos sobre este problema, para que pueda realizar una búsqueda rápida y obtener las herramientas pertinentes ...

--- Como paso de preprocesamiento, convierta ambas imágenes en formato RGB sin formato. bmp debería hacerte bien y convertir ambas imágenes a la misma resolución. También asumo que por resolution difference en tu pregunta, te refieres a la diferencia de calidad, es decir, una imagen tiene colores vívidos y nítidos y la otra está ligeramente enrojecida y borrosa (la que se tomó del video) ---

1) Primero, si desea comparar el contenido, asegúrese de que ambas imágenes tengan el mismo contenido y que la única diferencia sea la resolución (que ha erradicado en el paso de preprocesamiento), la profundidad del color y el ruido. Si las imágenes tienen un contenido diferente, o si una imagen es la versión recortada de otra imagen, no puede comparar las imágenes como un todo, sino que tendrá que dividir la imagen cuidadosamente (recortar en forma arbitraria) para obtener Áreas correctas de ambas imágenes para comparar.

2) Ahora, digamos que todo es optimista a la vista del primer paso. Ahora, pruebe con un visor de imágenes que tenga algunas capacidades de procesamiento de imágenes (como Irfanview, ACDSEE, etc.) e intente agregar ruido a la segunda imagen. Hay varios tipos de ruido (es), así que pruebe algunos modelos de ruido que se proporcionan en la herramienta. En aras de la claridad, observe el cambio en la similitud visual (disimilitud) entre sus imágenes cuando esté aplicando estos modelos. También puedes probar otras transformaciones como, desenfoque, afilado, etc.

3) Si esto no funciona, intente esto. Intente transformar ambas imágenes en escala de grises y continúe disminuyendo la profundidad de bits a imagen de bits (es decir, en blanco y negro). No sé si la herramienta puede permitirle hacer esto, pero busque alguna herramienta con la palabra clave "conversión de la imagen a escala de grises + disminución de la profundidad de color". No hace falta decir que, para cualquier transformación realizada, tendrá que seguir observando / rastreando (ya sea visualmente o programáticamente) la similitud (o disimilitud).

  • Ahora, veamos por qué la última técnica tiene buenas posibilidades de funcionar. No sé si entenderías esto, pero es una idea simple, así que trata de seguir.

-Una imagen en bruto no es más que una matriz de valores de 24 bits (la cantidad de bits puede variar pero la idea es la misma), donde 8 bits son para Rojo, 8 para Azul y 8 para verde. Hay un valor de 24 bits para cada píxel y, por lo tanto, cuando tiene que encontrar una similitud entre dos imágenes, compara dos imágenes píxel por píxel, por su similitud en estos valores de 24 bits. Ahora, ya que dice que ambas imágenes tienen el mismo contenido pero una tiene un ruido leve y una resolución baja (lo que significa que está borrosa y enrojecida), esto básicamente significa que el nivel de detalle en esa imagen es menos comparado con el otro. Esto significa, además, que para cada píxel, los valores de bits no se escalan tanto como lo son para imágenes de alta calidad en el espectro RGB y, por lo tanto, solo toman valores limitados para cada uno de estos componentes. En otras palabras, el detalle en la imagen de alta calidad se debe a los 255 niveles posibles de rojo, verde y azul que se hacen posibles mediante el uso de 8 bits para cada uno de ellos. Donde, en otra imagen (borrosa y enrojecida), este detalle no se captura principalmente porque muchos de los bits de orden inferior para cada RGB son cero o no existen (posiblemente porque la imagen se capturó originalmente con solo 4 bits de color y luego se ajustó a escala) a 8 bits). Por lo tanto, si comienzo a eliminar metódicamente los bits de orden inferior (al suprimir me refiero a establecerlos en cero), mi imagen de buena calidad tenderá a tomar el mismo nivel o colores que mi otra imagen borrosa. En términos técnicos, eliminaré algunos planos visuales para disminuir el detalle de la imagen y esto es exactamente lo que desea. Y finalmente, ya que se aseguró de que el contenido de las imágenes sea el mismo, si las compara ahora, coincidirán con alta probabilidad.

Saludos
Vaid, Abhishek
Ávido

VaidAbhishek
fuente