Maison > Article > interface Web > Implémentation rapide du filtre d'égalisation de tonalité PS (code source C#).
La fonction d'égalisation des tons de Photoshop est généralement l'une des fonctions les plus couramment utilisées au début de la retouche photo. Elle joue un certain rôle dans l'augmentation du contraste de l'image et l'amélioration de l'effet visuel. Dans de nombreux manuels ou articles, ce traitement est également appelé égalisation des gris, égalisation de l'histogramme, etc. Le principe de l'algorithme est de compter l'histogramme de l'image originale, puis de reprojeter les données de l'histogramme via la fonction de distribution cumulative, de sorte que la probabilité de distribution de chaque niveau de couleur soit ajustée dans la même direction. Les descriptions de ce processus dans les codes que j'ai vus sur Internet ou dans certains manuels sont assez redondantes, soit lourdes et inefficaces, soit trop verbeuses et inconfortables.
Avant de donner mon code, certains problèmes doivent être expliqués. Pour les images en niveaux de gris, puisqu'il n'y a qu'un seul canal, ce problème n'est pas évident. Pour les images 24 bits courantes, puisqu'il existe trois canaux RVB, la question se pose de savoir si chaque canal est égalisé individuellement ou si les trois canaux calculent conjointement l'histogramme. , puis utilisez le même. Le tableau de mappage reflète les données RVB. Après mes tests, dans Photoshop, ce dernier est utilisé.
for (Y = 0; Y <p></p><p><span style="font-size: 13px; font-family: 宋体;"> La partie algorithme est une vingtaine de lignes de code si simples. Le code est clair et l'efficacité d'exécution. est extrêmement élevé Appareil photo numérique Une photo courante de 4000*3000 peut être traitée en 100 ms. </span></p><p><span style="font-size: 13px; font-family: 宋体;"> Si une image est soumise une fois à une égalisation de teinte, aucun pixel ne doit être transformé si l'égalisation de teinte est effectuée à nouveau. </span></p><p><span style="font-size: 13px; font-family: 宋体;"> D'une manière générale, l'égalisation des teintes peut être considérée comme un cas particulier de correspondance d'histogramme, c'est-à-dire que l'histogramme correspondant est distribué sous forme de ligne horizontale. </span></p><p><span style="font-size: 13px; font-family: 宋体;"> L'égalisation des tons dans certains livres corrige chaque canal séparément. Il semble que l'effet de ce traitement puisse facilement conduire à une inadéquation dans la couleur globale de l'image, comme dans l'image classique de Lena. : </span> </p><p><span style="font-size: 13px; font-family: 宋体;"> L'effet dans le manuel de Lang Rui <img src="https://img.php.cn/upload/article/000/000/013/8eb48ac53c4b686a55a10d84272a9b1f-0.jpg" alt="Implémentation rapide du filtre dégalisation de tonalité PS (code source C#)." style="max-width:90%" style="max-width:90%" title="Implémentation rapide du filtre dégalisation de tonalité PS (code source C#)."><img src="https://img.php.cn/upload/article/000/000/013/691628f7fd14aed82ce33125aefadd48-1.jpg" alt="Implémentation rapide du filtre dégalisation de tonalité PS (code source C#)." style="max-width:90%" style="max-width:90%" title="Implémentation rapide du filtre dégalisation de tonalité PS (code source C#)."><img src="https://img.php.cn/upload/article/000/000/013/691628f7fd14aed82ce33125aefadd48-2.jpg" alt="Implémentation rapide du filtre dégalisation de tonalité PS (code source C#)." style="max-width:90%" style="max-width:90%" title="Implémentation rapide du filtre dégalisation de tonalité PS (code source C#).">Implémentations plus rapides des filtres d'égalisation de tonalité PS (code source C#). Pour les articles connexes, veuillez faire attention au site Web PHP chinois ! </span></p> <p></p>