Trübungsentfernung mit Python detailEnhanceFilter

Hintergrund

Die Fotos, die Sie aufnehmen, sind möglicherweise ungewollt verschwommen. Daher besteht die Notwendigkeit, Trübungen durch Verwendung der Bildverarbeitung für Trübungsbilder zu entfernen.

Wenn Sie sich die folgende Website ansehen, verfügen Adobe-Produkte auch über eine Funktion zur Trübungsentfernung. site: https://blogs.adobe.com/japan/cc-adobe-stock-contributor-j-curbon-lightroom-how-to-goto-2/

Dieses Mal werde ich eine einfache Methode zur Entfernung von Trübungen mit Python und OpenCV vorstellen.

detailEnhanceFilter

Dieses Mal verwenden wir den detailEnhanceFilter, der beim nicht-fotorealistischen Rendern von OpenCV implementiert ist.

Bitte überprüfen Sie die folgende Website für Details der Bibliothek. https://docs.opencv.org/master/df/dac/group__photo__render.html

Implementierung

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

Ausführungsergebnis

Für die Eingabe habe ich das Bild der zuvor eingeführten Site ausgeliehen. site: https://blogs.adobe.com/japan/cc-adobe-stock-contributor-j-curbon-lightroom-how-to-goto-2/

Bild eingeben

input.jpg

Ausgabebild

result.jpg

Adobe Dunstentfernung

ado.jpg

Impressionen

~~ Ist es nicht verdächtig ... ~~ Sie können sehen, dass die Kanten als Name des erweiterten Erweiterungsfilters erweitert werden! Es besteht jedoch der Eindruck, dass die Pixel an den Rändern weiß sind. Diese Konvertierungsfähigkeit mit nur einer Funktionslinie! OpenCV ist großartig. Dieses Mal wollte ich nur den Effekt des detailEnhance-Filters ausprobieren, also habe ich ihn überhaupt nicht vorverarbeitet. Der Eindruck ist, dass eine Erhöhung der Vorbehandlung die Situation verbessern wird. Die Parameter sind ebenfalls nicht angepasst. Wenn Sie interessiert sind, versuchen Sie es bitte. Schließlich ist die Version der Bibliothek wie folgt.

Bibliothek

version
Python 3.7.6
opencv-python 4.1.2.30
numpy 1.18.1
pillow 7.0.0

Recommended Posts

Trübungsentfernung mit Python detailEnhanceFilter
Python: Grundlagen der Verwendung von Scikit-Learn ①
Implementierung von Desktop-Benachrichtigungen mit Python
Python: Grundlagen der Bilderkennung mit CNN
Automatische Erfassung von Aktienkursen mit Python
Informationen zum Erstellen einer GUI mit TKinter of Python
Übung, dies in Python zu verwenden (schlecht)
Python: Anwendung der Bilderkennung mit CNN
Studie über die Miete in Tokio mit Python (3-1 von 3)
Starten Sie Python
Python-Grundlagen ①
Grundlagen von Python ①
Kopie von Python
Scraping mit Python
Einführung von Python
Zeitvariationsanalyse von Schwarzen Löchern mit Python
Einführung der Python Imaging Library (PIL) mit HomeBrew
Zeichenkodierung bei Verwendung des CSV-Moduls von Python 2.7.3
Versuchen Sie es mit dem Sammlungsmodul (ChainMap) von python3
Anonymer Upload von Bildern mit der Imgur-API (mit Python)
Einführungsstudie zur Python-Ausgabe von Verkaufsdaten mit tapple-
Zusammenfassung der Excel-Operationen mit OpenPyXL in Python
[Python] Implementierung von Clustering mit einem gemischten Gaußschen Modell
[Python] Operation der Aufzählung
Liste der Python-Module
Bearbeiten Sie Redmine mit Python Redmine
Erläuterung des Konzepts der Regressionsanalyse mit Python Teil 2
Grundlagen des Eingabe- / Ausgabebildschirms mit tkinter in python3
[Python] [Word] [python-docx] Einfache Analyse von Diff-Daten mit Python
Fibonacci-Sequenz mit Python
Kopie der Python-Einstellungen
Schneiden Sie einen Teil der Zeichenfolge mit einem Python-Slice aus
Grundlagen der Python-Scraping-Grundlagen
[Python] Verhalten von Argmax
Versuchen Sie, die Bildkonvertierung mit OpenCV mit Python zu projizieren
Mit Python erlernte Derivate- (1) Berechnung des Devisenterminkurses-
Verwendung von Python-Einheimischen ()
der Zen von Python
[Frage] Über die API-Konvertierung von Chat-Bot mit Python
Datenbereinigung mit Python
Installieren von Python 3.3 rc1
Der Schmerz von gRPC mit Python. November 2019. (Persönliches Memo)
Verwenden von Python # externen Paketen
[Python] Verwenden der Linien-API [1. Erstellung des Beauty-Bots]
Erläuterung des Konzepts der Regressionsanalyse mit Python Teil 1
WiringPi-SPI-Kommunikation mit Python
[Python] Zusammenfassung der Methode zur Tabellenerstellung mit DataFrame (Pandas)
Altersberechnung mit Python
# 4 [Python] Grundlagen der Funktionen
Grundkenntnisse in Python
Suchen Sie Twitter mit Python
Nüchterne Trivia von Python3
Zusammenfassung der Python-Argumente
Erläuterung des Konzepts der Regressionsanalyse mit Python Extra 1
Studie aus Python Hour8: Verwenden von Paketen
Beispiel für die Verwendung von Lambda