Maison > développement back-end > Tutoriel Python > Comment utiliser Python pour effectuer une compensation d'éclairage sur des images

Comment utiliser Python pour effectuer une compensation d'éclairage sur des images

WBOY
Libérer: 2023-08-18 23:07:49
original
1592 Les gens l'ont consulté

Comment utiliser Python pour effectuer une compensation déclairage sur des images

Comment utiliser Python pour effectuer une compensation d'éclairage sur des images

Résumé :
Pour le traitement d'images numériques, un éclairage inégal est l'un des problèmes courants. Cet article explique comment utiliser la bibliothèque OpenCV dans le langage de programmation Python pour effectuer une compensation d'éclairage sur les images. Nous extrairons les informations d'éclairage de l'image, puis ajusterons la luminosité et le contraste de l'image en fonction de ces informations pour obtenir l'effet d'un éclairage uniforme.

  1. Importez les bibliothèques requises
    Tout d'abord, nous devons importer la bibliothèque OpenCV en Python et d'autres bibliothèques de base :
import cv2
import numpy as np
import matplotlib.pyplot as plt
Copier après la connexion
  1. Charger et afficher l'image originale
    Charger l'image qui nécessite une compensation d'éclairage et utiliser la fonction imshow d'OpenCV. Montrez-la :
image = cv2.imread('image.jpg',1)
cv2.imshow('Original Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
Copier après la connexion
  1. Extraire les informations d'éclairage
    Pour extraire les informations d'éclairage d'une image, nous pouvons utiliser des méthodes basées sur des statistiques. Parmi elles, une méthode courante consiste à obtenir l'intensité d'éclairage de l'image en calculant la valeur moyenne de l'image :
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
mean = np.mean(gray_image)
Copier après la connexion
  1. Ajuster la luminosité et le contraste de l'image
    Selon les informations d'éclairage, nous pouvons obtenir un éclairage uniforme en réglage de la luminosité et du contraste de l'effet de transformation d'image. Plus précisément, nous utiliserons la fonction cv2.convertScaleAbs de la bibliothèque OpenCV pour ajuster la luminosité et le contraste de l'image :
alpha = 1.0 / mean
beta = 0
light_compensated_image = cv2.convertScaleAbs(image, alpha=alpha, beta=beta)
Copier après la connexion
  1. Afficher et enregistrer l'image traitée
    Enfin, nous pouvons utiliser la fonction imshow d'OpenCV pour afficher l'image traitée, Et utilisez la fonction cv2.imwrite pour l'enregistrer sur le disque :
cv2.imshow('Light Compensated Image', light_compensated_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

cv2.imwrite('light_compensated_image.jpg', light_compensated_image)
Copier après la connexion
  1. Résultats et discussion
    Grâce aux étapes ci-dessus, nous avons réussi à effectuer une compensation d'éclairage sur l'image originale et à éliminer le problème d'éclairage inégal. En ajustant la luminosité et le contraste de l'image, nous donnons à l'ensemble de l'image un effet d'éclairage plus uniforme. Enfin, nous pouvons vérifier nos résultats en affichant et en enregistrant l'image traitée.

Conclusion :
Cet article démontre le processus de compensation d'éclairage pour les images à l'aide de Python et de la bibliothèque OpenCV. Un éclairage inégal est un problème courant dans le traitement d'images numériques, mais en extrayant les informations d'éclairage et en ajustant la luminosité et le contraste de l'image, nous pouvons obtenir efficacement l'effet d'un éclairage uniforme. En tant que langage de programmation puissant, Python fournit divers outils et bibliothèques de traitement d'images, rendant la compensation de l'éclairage plus simple et plus efficace.

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:php.cn
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