Rumah  >  Artikel  >  Java  >  Baca imej berwarna ke dalam imej skala kelabu menggunakan perpustakaan OpenCV Java

Baca imej berwarna ke dalam imej skala kelabu menggunakan perpustakaan OpenCV Java

PHPz
PHPzke hadapan
2023-09-06 16:09:03952semak imbas

Kaedah

imread() bagi kelas Imgcodecs menerima rentetan yang mewakili nama fail sebagai nilai parameter. Kaedah ini membaca kandungan fail yang ditentukan ke dalam objek matriks dan mengembalikannya. Menggunakan kaedah ini anda boleh membaca kandungan imej.

Selain itu, kelas Imgcodecs juga menyediakan satu lagi varian kaedah ini yang menerima nilai integer yang mewakili bendera yang menyatakan mod bacaan yang diingini.

p>

Berikut ialah pelbagai medan kelas Imgcodecs yang boleh digunakan sebagai nilai bendera.

  • IMREAD_COLOR - Jika bendera ditetapkan kepada nilai ini, imej yang dimuatkan akan ditukar kepada imej warna BGR (Biru Hijau Merah) 3 saluran.

  • IMREAD_GRAYSCALE - Jika bendera ditetapkan kepada nilai ini, imej yang dimuatkan akan ditukar kepada imej skala kelabu saluran tunggal.

  • IMREAD_LOAD_GDAL - Jika bendera ditetapkan kepada nilai ini, imej boleh dimuatkan menggunakan pemacu GDAL.

  • IMREAD_ANYCOLOR - Jika bendera ditetapkan kepada nilai ini, imej akan dibaca dalam sebarang format warna yang mungkin.

    li>
  • imread_reduced_color_2 atau,

    imread_reduced_color_4 atau,

    imread_reduced_color_8 - Jika bendera ditetapkan pada nilai ini, imej dibaca sebagai BGR tiga saluran dan dimensi imej adalah relatif kepada medan digunakan zum keluar kepada 1/2, 1/4 atau 1/8 daripada saiz asal imej.

  • imread_reduced_grayscale_2 atau,

    imread_reduced_grayscale_4 atau,

    imread_reduced_grayscale_8 - Jika bendera ditetapkan pada nilai ini, imej dibaca sebagai imej grayscale tunggal saluran dan saiz imej adalah zum relatif ke imej menggunakan medan 1/2, 1/4 atau 1/8 saiz asal.

  • IMREAD_UNCHANGED - Jika bendera ditetapkan kepada nilai ini, imej yang dimuatkan dikembalikan seperti sedia ada.

Jadi jika anda perlu membaca imej berwarna ke dalam imej skala kelabu, anda harus lulus IMREAD_GRAYSCALE atau IMREAD_REDUCED_GRAYSCALE_X sebagai parameter.

Contoh 1

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
public class ReadAsGreyScale {
   public static void main(String args[]) {
      //Loading the OpenCV core library
      System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
      //Reading the Image from the file
      Mat matrix = Imgcodecs.imread("D://images//sunset.jpg", Imgcodecs.IMREAD_GRAYSCALE);
      //Writing the image
      Imgcodecs.imwrite("D://images//sunset_greyscale.jpg", matrix);
      System.out.println("Image re-Saved");
   }
}

Input

使用Java OpenCV库将彩色图像读取为灰度图像

Output

使用Java OpenCV库将彩色图像读取为灰度图像2

Demonstrasi Langsung

-- >
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
public class ReadingAsGrey2 {
   public static void main(String args[]) {
      //Loading the OpenCV core library
      System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
      String input = "D://images//sunset.jpg";
      //Reading the Image from the file
      Mat matrix = Imgcodecs.imread(input, Imgcodecs.IMREAD_REDUCED_GRAYSCALE_4 );
      //Writing the image
      Imgcodecs.imwrite("D://images//sunset_grey_8.jpg", matrix);
      System.out.println("Image re-Saved");
   }
}

Output

Atas ialah kandungan terperinci Baca imej berwarna ke dalam imej skala kelabu menggunakan perpustakaan OpenCV Java. 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