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.
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"); } }
2
Demonstrasi Langsungimport 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"); } }
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!