首頁 > Java > java教程 > 主體

如何使用Java OpenCV函式庫比較兩個影像?

王林
發布: 2023-08-28 16:25:01
轉載
1145 人瀏覽過

比較兩個影像 -

  • 使用 Image.IO.read()讀取它們 方法。

  • 取得兩者的高度和寬度,確保它們相等。

  • 取得像素值,並取得兩個影像的 RGB 值。

  • 取得這兩個影像的 RGB 值之間的差異總和。

    li>
  • 使用以下公式計算差異的百分比-

Average = difference/weight*height*3;
Percentage = (Average/255)*100;
登入後複製

範例

import java.awt.Color;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.File;
public class ComparingImages {
   public static void main(String[] args) throws Exception {
      BufferedImage img1 = ImageIO.read(new File("D:\Images\test1.jpg"));
      BufferedImage img2 = ImageIO.read(new File("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)) {
         System.out.println("Both images should have same dimwnsions");
      } else {
         long diff = 0;
         for (int j = 0; j < h1; j++) {
            for (int i = 0; i < w1; i++) {
               //Getting the RGB values of a pixel
               int pixel1 = img1.getRGB(i, j);
               Color color1 = new Color(pixel1, true);
               int r1 = color1.getRed();
               int g1 = color1.getGreen();
               int b1 = color1.getBlue();
               int pixel2 = img2.getRGB(i, j);
               Color color2 = new Color(pixel2, true);
               int r2 = color2.getRed();
               int g2 = color2.getGreen();
               int b2= color2.getBlue();
               //sum of differences of RGB values of the two images
               long data = Math.abs(r1-r2)+Math.abs(g1-g2)+ Math.abs(b1-b2);
               diff = diff+data;
            }
         }
         double avg = diff/(w1*h1*3);
         double percentage = (avg/255)*100;
         System.out.println("Difference: "+percentage);
      }
   }
}
登入後複製

輸入1

如何使用Java OpenCV库比较两个图像?

#輸入2

如何使用Java OpenCV库比较两个图像?

輸出

Difference: 92.54901960784314
登入後複製

以上是如何使用Java OpenCV函式庫比較兩個影像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板