Kaedah
convertTo() kelas org.opencv.core.Mat melakukan pengiraan yang diperlukan pada matriks yang diberikan untuk menukar kontras dan kecerahan imej. Kaedah ini menerima 4 parameter -
mat - matriks kosong untuk memegang hasil saiz dan jenis yang sama dengan matriks sumber.
rtype - nilai integer yang menyatakan jenis matriks output. Jika nilainya negatif, jenisnya akan sama dengan sumbernya.
alpha - nilai keuntungan, mestilah lebih besar daripada 0 (lalai 1).
beta - nilai bias (lalai 0).
Seperti yang dinyatakan di atas, nilai beta yang dihantar kepada kaedah ini akan mengubah kecerahan imej Imej, jika nilai yang dipilih untuk parameter ini adalah negatif (0 hingga -255), imej akan menjadi kurang terang. Begitu juga, jika lebih besar daripada 0 (0 hingga 255), kecerahan imej meningkat.
Untuk menukar kontras imej, panggil kaedah convertTo() dengan menghantar matriks kosong, -1 (untuk mendapatkan jenis yang sama), 1 sebagai nilai alfa dan nilai beta untuk menambah atau mengurangkan kecerahan .
import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.imgcodecs.Imgcodecs; public class AlteringBrightness { public static void main (String[] args) { //Loading the OpenCV core library System.loadLibrary( Core.NATIVE_LIBRARY_NAME ); //Reading the Image from the file String file ="D:\Images\tiger.jpg"; Mat src = Imgcodecs.imread(file, Imgcodecs.IMREAD_COLOR); //Creating an empty matrix Mat dest = new Mat(src.rows(), src.cols(), src.type()); //Increasing the brightness of an image src.convertTo(dest, -1, 1, 100); // Writing the image Imgcodecs.imwrite("D:\Images\altering_brightness_100.jpg", dest); } }
here adalah pelbagai imej output untuk nilai alpha yang berbeza-
α nilai: -100
α nilai: -50
α nilai: 50
α nilai: 50
🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜 nilai: 100Atas ialah kandungan terperinci Bagaimana untuk menukar kecerahan imej menggunakan perpustakaan OpenCV Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!