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
Libérer: 2023-09-10 23:45:02
avant
1060 Les gens l'ont consulté

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);
   }
}
Copier après la connexion

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal