


Bagaimana untuk membandingkan dua imej menggunakan perpustakaan OpenCV Java?
Aug 28, 2023 pm 04:25 PMBandingkan dua imej -
Baca menggunakan kaedah Image.IO.read() .
Dapatkan ketinggian dan lebar kedua-duanya, pastikan ia sama.
Dapatkan nilai piksel dan dapatkan nilai RGB bagi kedua-dua imej.
-
Dapatkan jumlah perbezaan antara nilai RGB kedua-dua imej ini.
li> Kira peratusan perbezaan menggunakan formula berikut -
Average = difference/weight*height*3; Percentage = (Average/255)*100;
Contoh
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); } } }
Masukkan 1
Enter 1
Output
Difference: 92.54901960784314
Atas ialah kandungan terperinci Bagaimana untuk membandingkan dua imej menggunakan perpustakaan OpenCV Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Rangka Kerja 4 JavaScript teratas pada tahun 2025: React, Angular, Vue, Svelte

Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?

Spring Boot Snakeyaml 2.0 CVE-2022-1471 Isu Tetap

Iceberg: Masa Depan Jadual Data Tasik

Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?

Node.js 20: Peningkatan Prestasi Utama dan Ciri -ciri Baru

Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?

Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?
