enero 31, 2022

¿Cómo comparar dos imágenes usando la biblioteca Java OpenCV?

Para comparar dos imágenes−

  • Lea ambos usando el método Image.IO.read ().

  • Obtenga la altura y el ancho de ambos para asegurarse de que sean iguales.

  • Obtenga los valores de píxeles y los valores RGB de ambas imágenes.

  • Obtenga la suma de las diferencias entre los valores RGB de estas dos imágenes.

  • Calcule el porcentaje de la diferencia utilizando la siguiente fórmula−

Average = difference/weight*height*3;Percentage = (Average/255)*100;

Ejemplo

 importar java.awt.Color; importar java.awt.imagen.BufferedImage; importar javax.imageio.ImageIO; importar java. io. File; ComparingImages de clases públicas { public static void main (String args) lanza Excepción { BufferedImage img1 = ImageIO.leer (nuevo archivo ("D:\\Images\\test1.jpg")); BufferedImage img2 = ImageIO.leer (nuevo archivo ("D:\\Images\\test2.jpg")); int w1 = img1.getWidth (); int w2 = img2.getWidth (); int h1 = img1.getHeight (); int h2 = img2.getHeight (); if ((w1!= w2) / / (h1!= h2)) {Sistema.fuera.println ("Ambas imágenes deben tener las mismas dimensiones");} else { long diff = 0; for (int j = 0; j < h1; j++) {for (int i = 0; i < w1; i++) {//Obtener los valores RGB de un píxel int pixel1 = img1.getRGB( i, j); Color color1 = nuevo color(pixel1, verdadero); int r1 = color1.getRed (); int g1 = color1.getGreen (); int b1 = color1.GetBlue (); int pixel2 = img2.getRGB( i, j); Color color2 = nuevo color(pixel2, verdadero); int r2 = color2.getRed (); int g2 = color2.getGreen (); int b2 = color2.GetBlue (); / / suma de diferencias de valores RGB de las dos imágenes datos largos = Matemáticas . abs (r1-r2)+Matemáticas.abs (g1-g2)+ Matemáticas.abs (b1-b2); diff = diff+datos;}} doble avg = diff/(w1*h1*3); doble porcentaje = (avg/255)*100; Sistema.fuera.println ("Diferencia:" + porcentaje); } }}

Ingreso1

Ingreso2

Producto

Difference: 92.54901960784314
raja

Publicado el 09-Abr-2020 07:25:58

  • Preguntas relacionadas & Respuestas
  • ¿Cómo hacer coincidir los puntos clave de dos imágenes con la biblioteca java de OpenCV?
  • ¿Cómo combinar imágenes con OpenCV Java?
  • ¿Cómo realizar operaciones y bits en dos imágenes usando Java OpenCV?
  • ¿Cómo realizar operaciones XOR bit a Bit en dos imágenes usando Java OpenCV?
  • ¿Cómo realizar operaciones de bits en dos imágenes usando Java OpenCV?
  • ¿Cómo encontrar Contornos de imágenes usando la biblioteca Java OpenCV?
  • ¿Cómo voltear una imagen usando la biblioteca Java OpenCV?
  • ¿Cómo dibujar Contornos de imágenes usando la biblioteca Java OpenCV?
  • ¿Cómo leer una imagen usando la biblioteca Java OpenCV?
  • ¿Cómo escribir una imagen usando la biblioteca Java OpenCV?
  • ¿Cómo crear una imagen espejo usando la biblioteca Java OpenCV?
  • ¿Cómo realizar operaciones no bit a Bit en imágenes usando Java OpenCV?
  • ¿Cómo convertir imágenes RGB a HSV usando la biblioteca Java OpenCV?
  • ¿Cómo convertir HSV a imagen en color usando la biblioteca Java OpenCV?
  • ¿Cómo convertir imágenes HSV a BGR usando la biblioteca Java OpenCV?
Anuncios

Deja una respuesta

Tu dirección de correo electrónico no será publicada.