org.opencv.core.Mat 類別的 convertTo() 方法對給定矩陣執行所需的計算,以改變影像的對比度和亮度。此方法接受 4 個參數 -
mat - 空矩陣,用於保存與來源矩陣具有相同大小和類型的結果。
rtype - 指定輸出矩陣類型的整數值。如果該值為負,則類型將與來源相同。
alpha - 增益值,必須大於 0(預設值 1)。
beta - 偏差值(預設值 0)。
如上所述,傳遞給此方法的 beta 值會改變影像的亮度 影像,如果為此參數選擇的值為負值(0 到 -255),則影像的亮度會降低。同樣,如果它大於 0(0 到 255),則影像的亮度會增加。
要變更影像的對比度,請透過傳遞呼叫convertTo() 方法空矩陣,-1(獲得相同類型),1 作為alpha 值,beta 值用於增加或減少亮度。
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); } }
以下是不同alpha 值的各種輸出影像-
α 值:-100
α值:-50
#α值:50
α 值:100
以上是如何使用Java OpenCV函式庫來改變影像的亮度?的詳細內容。更多資訊請關注PHP中文網其他相關文章!