Maison >Java >javaDidacticiel >Comment changer la luminosité d'une image à l'aide de la bibliothèque Java OpenCV ?

Comment changer la luminosité d'une image à l'aide de la bibliothèque Java OpenCV ?

WBOY
WBOYavant
2023-09-10 23:45:021033parcourir

La méthode

convertTo() de la classe org.opencv.core.Mat effectue les calculs requis sur la matrice donnée pour modifier le contraste et la luminosité de l'image. Cette méthode accepte 4 arguments -

  • mat - une matrice vide pour contenir le résultat de même taille et type que la matrice source.

  • rtype - une valeur entière spécifiant le type de matrice de sortie. Si la valeur est négative, le type sera le même que la source.

  • alpha - valeur de gain, doit être supérieure à 0 (1 par défaut).

  • beta - valeur de biais (0 par défaut).

Modifiez la luminosité de l'image à l'aide de la bibliothèque Java OpenCV

Comme mentionné ci-dessus, la valeur bêta transmise à cette méthode modifiera la luminosité de l'image Image, si la valeur choisie pour ce paramètre est négative (0 à -255), l'image sera moins lumineuse. De même, si elle est supérieure à 0 (0 à 255), la luminosité de l'image augmente.

Pour modifier le contraste d'une image, appelez la méthode convertTo() en passant une matrice vide, -1 (pour obtenir le même type), 1 comme valeur alpha et la valeur bêta pour augmenter ou diminuer la luminosité .

Exemple

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

Image d'entrée

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

Vous trouverez ci-dessous différentes images de sortie pour différentes valeurs alpha -

α valeur : -100

α valeur : -50

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

α valeur : 50

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

α valeur : 100

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer