Rumah  >  Artikel  >  Java  >  Bagaimana untuk menukar kecerahan imej menggunakan perpustakaan OpenCV Java?

Bagaimana untuk menukar kecerahan imej menggunakan perpustakaan OpenCV Java?

WBOY
WBOYke hadapan
2023-09-10 23:45:02965semak imbas

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).

Tukar kecerahan imej menggunakan perpustakaan OpenCV Java

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 .

example

Demo live ->
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);
   }
}

Input image

如何使用Java OpenCV库来改变图像的亮度?

here adalah pelbagai imej output untuk nilai alpha yang berbeza-

α nilai: -100

α nilai: -50

如何使用Java OpenCV库来改变图像的亮度?

α nilai: 50

如何使用Java OpenCV库来改变图像的亮度?

α nilai: 50如何使用Java OpenCV库来改变图像的亮度?

🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜 nilai: 100

Atas 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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam