Maison développement back-end Tutoriel Python Comment utiliser Python pour effectuer des ajustements de balance des couleurs sur les images

Comment utiliser Python pour effectuer des ajustements de balance des couleurs sur les images

Aug 17, 2023 am 11:43 AM
python 图片 balance des couleurs

Comment utiliser Python pour effectuer des ajustements de balance des couleurs sur les images

Comment utiliser Python pour ajuster la balance des couleurs des images

Introduction : Dans le traitement d'images, la balance des couleurs est une opération courante. En ajustant la balance des couleurs d'une image, vous pouvez modifier le ton général de l'image pour la rendre plus adaptée à vos besoins. Cet article expliquera comment utiliser le langage Python pour ajuster la balance des couleurs des images et fournira des exemples de code pour aider les lecteurs à le mettre en œuvre rapidement.

1. Le principe de la balance des couleurs
La balance des couleurs est l'opération consistant à ajuster l'intensité des différents canaux de couleur dans une image pour obtenir un effet de couleur global. De manière générale, la couleur d'une image se compose de trois canaux : rouge, vert et bleu (RVB). Le réglage de l'intensité de chaque canal peut modifier la répartition des couleurs de l'image, obtenant ainsi un effet de balance des couleurs. Pour les images RVB, le coefficient de gain est généralement utilisé pour représenter le degré d'ajustement de l'intensité de chaque canal.

2. Python réalise l'ajustement de la balance des couleurs
Python, en tant que langage de programmation populaire, est également largement utilisé dans le domaine du traitement d'images. Ce qui suit présentera les étapes de mise en œuvre de l'utilisation de Python et de la bibliothèque OpenCV pour ajuster la balance des couleurs des images.

  1. Importer les bibliothèques associées
import cv2
import numpy as np
Copier après la connexion
  1. Lire et prétraiter l'image
# 读取图片
img = cv2.imread('image.jpg')
# 转换颜色空间为浮点数
img = img.astype(float) / 255
Copier après la connexion
  1. Calculer le coefficient de gain
# 计算RGB各通道的平均值
avgR = np.mean(img[:, :, 2])
avgG = np.mean(img[:, :, 1])
avgB = np.mean(img[:, :, 0])
# 计算每个通道的增益系数
K = (avgR + avgG + avgB) / 3
Kr = K / avgR
Kg = K / avgG
Kb = K / avgB
Copier après la connexion
  1. Ajuster l'intensité du canal de couleur
# 调整每个通道的强度
img[:, :, 2] *= Kr
img[:, :, 1] *= Kg
img[:, :, 0] *= Kb
Copier après la connexion
  1. Une fois l'ajustement terminé, limitez valeur en pixels de l'image dans la plage de 0 ~ 255, et converti en une valeur entière
# 限制像素值范围在0~255
img = np.clip(img, 0, 1)
# 转换为整型
img = img * 255
img = img.astype(np.uint8)
Copier après la connexion
  1. Afficher et enregistrer le résultat
# 显示调整后的图像
cv2.imshow('Balanced Image', img)
# 保存调整后的图像
cv2.imwrite('balanced_image.jpg', img)
# 等待关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
Copier après la connexion

Le code ci-dessus implémente le réglage de la balance des couleurs de l'image, et affiche et enregistre le réglage image sur le disque local. En modifiant le coefficient de gain, l'effet de couleur de l'image peut être encore modifié.

Résumé : Cet article présente brièvement les principes de la balance des couleurs et montre comment implémenter l'ajustement de la balance des couleurs à l'aide des bibliothèques Python et OpenCV. Les lecteurs peuvent ajuster les paramètres du code selon leurs besoins pour optimiser davantage l'effet de couleur de l'image. J'espère que cet article sera utile aux lecteurs dans le domaine du traitement d'image.

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

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quels sont les avantages et les inconvénients des modèles ? Quels sont les avantages et les inconvénients des modèles ? May 08, 2024 pm 03:51 PM

Quels sont les avantages et les inconvénients des modèles ?

Comment télécharger Deepseek Xiaomi Comment télécharger Deepseek Xiaomi Feb 19, 2025 pm 05:27 PM

Comment télécharger Deepseek Xiaomi

Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs Jul 01, 2024 am 07:22 AM

Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs

Pour seulement 250$, le directeur technique de Hugging Face vous apprend étape par étape comment peaufiner Llama 3 Pour seulement 250$, le directeur technique de Hugging Face vous apprend étape par étape comment peaufiner Llama 3 May 06, 2024 pm 03:52 PM

Pour seulement 250$, le directeur technique de Hugging Face vous apprend étape par étape comment peaufiner Llama 3

Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM May 06, 2024 pm 04:43 PM

Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM

Un guide complet sur le débogage et l'analyse des fonctions Golang Un guide complet sur le débogage et l'analyse des fonctions Golang May 06, 2024 pm 02:00 PM

Un guide complet sur le débogage et l'analyse des fonctions Golang

Comment lui demandez-vous Deepseek Comment lui demandez-vous Deepseek Feb 19, 2025 pm 04:42 PM

Comment lui demandez-vous Deepseek

Comment enregistrer la fonction d'évaluation Comment enregistrer la fonction d'évaluation May 07, 2024 am 01:09 AM

Comment enregistrer la fonction d'évaluation

See all articles