Rumah >Java >javaTutorial >Dalam Java OpenCV, tukar imej kepada skala kelabu tanpa menggunakan sebarang kaedah

Dalam Java OpenCV, tukar imej kepada skala kelabu tanpa menggunakan sebarang kaedah

王林
王林ke hadapan
2023-08-26 14:53:161086semak imbas

Tukar imej berwarna kepada skala kelabu.

  • Dapatkan nilai merah, hijau dan biru ​​​​bagi setiap piksel

  • Dapatkan purata 3 warna ini.

  • Ganti nilai RGB dengan purata.

  • Buat nilai piksel baharu berdasarkan warna yang diubah suai.

  • Tetapkan nilai baharu kepada piksel.

Contoh

import java.io.File;
import java.io.IOException;
import java.awt.Color;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
public class Color2Grey {
   public static void main(String args[])throws IOException {
      //Reading the image
      File file= new File("D:\Images\car.jpg");
      BufferedImage img = ImageIO.read(file);
      for (int y = 0; y < img.getHeight(); y++) {
         for (int x = 0; x < img.getWidth(); x++) {
            //Retrieving the values of a pixel
            int pixel = img.getRGB(x,y);
            //Creating a Color object from pixel value
            Color color = new Color(pixel, true);
            //Retrieving the R G B values
            int red = color.getRed();
            int green = color.getGreen();
            int blue = color.getBlue();
            //Finding the average of the red green blue values
            int average = (red+green+blue)/3;
            //Creating new Color object
            color = new Color(average, average, average);
            //Setting new Color object to the image
            img.setRGB(x, y, color.getRGB());
         }
      }
      //Saving the modified image
      file = new File("D:\Images\grey_image.jpg");
      ImageIO.write(img, "jpg", file);
      System.out.println("Done...");
   }
}

Input

在Java OpenCV中,不使用任何方法将图像转换为灰度图

Output

在Java OpenCV中,不使用任何方法将图像转换为灰度图

Atas ialah kandungan terperinci Dalam Java OpenCV, tukar imej kepada skala kelabu tanpa menggunakan sebarang kaedah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam