Rumah > Java > javaTutorial > teks badan

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

PHPz
Lepaskan: 2023-09-06 16:09:03
ke hadapan
901 orang telah melayarinya

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");
   }
}
Salin selepas log masuk

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");
   }
}
Salin selepas log masuk
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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!