Suppression de la brume à l'aide de Python detailEnhanceFilter

Contexte

Les photos que vous prenez peuvent être accidentellement floues. Par conséquent, il est nécessaire d'éliminer le voile en utilisant un traitement d'image sur les images de voile.

Si vous regardez réellement le site suivant, les produits Adobe ont également une fonction de suppression de la brume. site: https://blogs.adobe.com/japan/cc-adobe-stock-contributor-j-curbon-lightroom-how-to-goto-2/

Cette fois, je présenterai une méthode simple de suppression de brume utilisant Python et OpenCV.

detailEnhanceFilter

Cette fois, nous utiliserons le detailEnhanceFilter implémenté dans le rendu non photoréaliste d'OpenCV.

Veuillez consulter le site suivant pour plus de détails sur la bibliothèque. https://docs.opencv.org/master/df/dac/group__photo__render.html

la mise en oeuvre

image_processing.py


from PIL import Image
import numpy as np
import cv2

def main():
    img = np.array(Image.open('images/input.jpg'))
    dst = cv2.detailEnhance(img, sigma_s=10, sigma_r=0.15)
    Image.fromarray(dst).save('images/result.jpg')

if __name__ == '__main__':
    main()

Résultat d'exécution

Pour l'entrée, j'ai emprunté l'image du site présenté plus tôt. site: https://blogs.adobe.com/japan/cc-adobe-stock-contributor-j-curbon-lightroom-how-to-goto-2/

Image d'entrée

input.jpg

Image de sortie

result.jpg

Suppression de la brume d'Adobe

ado.jpg

Impressions

~~ N'est-ce pas suspect ... ~~ Vous pouvez voir que les bords sont améliorés comme le nom du filtre d'amélioration avancé! Cependant, on a l'impression que les pixels autour des bords sont blancs. Cette capacité de conversion avec une seule ligne de fonction! OpenCV est génial. Cette fois, je voulais essayer l'effet du filtre detailEnhance uniquement, donc je ne l'ai pas prétraité du tout. L'impression est que l'augmentation du prétraitement améliorera la situation. Les paramètres sont également non ajustés. Si vous êtes intéressé, essayez-le. Enfin, la version de la bibliothèque est la suivante.

Bibliothèque

version
Python 3.7.6
opencv-python 4.1.2.30
numpy 1.18.1
pillow 7.0.0

Recommended Posts

Suppression de la brume à l'aide de Python detailEnhanceFilter
python: principes de base de l'utilisation de scikit-learn ①
Implémentation des notifications de bureau à l'aide de Python
Python: principes de base de la reconnaissance d'image à l'aide de CNN
Collecte automatique des cours boursiers à l'aide de python
À propos de la création de l'interface graphique à l'aide de TKinter de Python
Pratique d'utilisation de ceci en Python (mauvais)
Python: Application de la reconnaissance d'image à l'aide de CNN
Étude sur Tokyo Rent en utilisant Python (3-1 sur 3)
Commencez à utiliser Python
Les bases de Python ①
Bases de python ①
Copie de python
Scraping à l'aide de Python
Introduction de Python
Analyse de la variation temporelle des trous noirs en utilisant Python
Introduction de la bibliothèque d'imagerie Python (PIL) à l'aide de HomeBrew
Encodage de caractères lors de l'utilisation du module csv de python 2.7.3
Essayez d'utiliser le module de collections (ChainMap) de python3
Téléchargement anonyme d'images à l'aide de l'API Imgur (à l'aide de Python)
Étude introductive sur Python-Sortie des données de vente à l'aide de tapple-
Résumé des opérations Excel utilisant OpenPyXL en Python
[Python] Implémentation du clustering à l'aide d'un modèle gaussien mixte
[Python] Opération d'énumération
Liste des modules python
Manipuler Redmine à l'aide de Python Redmine
Explication du concept d'analyse de régression à l'aide de python Partie 2
Bases de l'écran d'entrée / sortie en utilisant tkinter en python3
[Python] [Word] [python-docx] Analyse simple des données de diff en utilisant python
Séquence de Fibonacci utilisant Python
Copie des préférences python
Découpez une partie de la chaîne à l'aide d'une tranche Python
Principes de base du grattage Python
[python] comportement d'argmax
Essayez de projeter la conversion d'image en utilisant OpenCV avec Python
Dérivés appris en utilisant Python- (1) Calcul du taux de change à terme-
Utilisation des locaux Python ()
le zen de Python
[Question] À propos de la conversion API du chat bot à l'aide de Python
Nettoyage des données à l'aide de Python
Installation de Python 3.3 rc1
La douleur de gRPC en utilisant Python. Novembre 2019. (Mémo personnel)
Utilisation des packages Python #external
[Python] Utilisation de l'API Line [1ère création de Beauty Bot]
Explication du concept d'analyse de régression à l'aide de Python Partie 1
Câblage Communication Pi-SPI avec Python
[Python] Résumé de la méthode de création de table utilisant DataFrame (pandas)
Calcul de l'âge à l'aide de python
# 4 [python] Bases des fonctions
Connaissance de base de Python
Rechercher sur Twitter avec Python
Anecdotes sobres de python3
Résumé des arguments Python
Explication du concept d'analyse de régression à l'aide de Python Extra 1
Étude de Python Hour8: Utilisation de packages
Exemple d'utilisation de lambda