কম্পিউটার

কিভাবে জাভা ওপেনসিভি লাইব্রেরি ব্যবহার করে দুটি ছবি তুলনা করবেন?


দুটি ছবি তুলনা করতে -

  • Image.IO.read() ব্যবহার করে উভয়ই পড়ুন পদ্ধতি।

  • তারা সমান তা নিশ্চিত করতে তাদের উভয়ের উচ্চতা এবং প্রস্থ পান।

  • পিক্সেল মান পান এবং, উভয় চিত্রের RGB মান পান।

  • এই দুটি ছবির RGB মানের মধ্যে পার্থক্যের যোগফল পান।

  • নিম্নলিখিত সূত্রটি ব্যবহার করে পার্থক্যের শতাংশ গণনা করুন −

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

কিভাবে জাভা ওপেনসিভি লাইব্রেরি ব্যবহার করে দুটি ছবি তুলনা করবেন?

ইনপুট2

কিভাবে জাভা ওপেনসিভি লাইব্রেরি ব্যবহার করে দুটি ছবি তুলনা করবেন?

আউটপুট

Difference: 92.54901960784314

  1. জাভা ওপেনসিভি লাইব্রেরি ব্যবহার করে কীভাবে একটি মিরর ইমেজ তৈরি করবেন?

  2. জাভা ওপেনসিভি লাইব্রেরি ব্যবহার করে একটি নেতিবাচক চিত্রকে ইতিবাচক ছবিতে রূপান্তর করবেন কীভাবে?

  3. জাভা ওপেনসিভি ব্যবহার করে দুটি ছবিতে বিটওয়াইজ বা অপারেশন কীভাবে করবেন?

  4. কিভাবে জাভা OpenCV লাইব্রেরি ব্যবহার করে একটি ছবি লিখতে হয়?