Heim Backend-Entwicklung Python-Tutorial So fügen Sie Bildern mit Python Rauschen hinzu

So fügen Sie Bildern mit Python Rauschen hinzu

Aug 19, 2023 am 11:21 AM
python 图片处理 噪声添加

So fügen Sie Bildern mit Python Rauschen hinzu

So verwenden Sie Python, um Bildern Rauschen hinzuzufügen

Einführung:
Mit der Entwicklung der Technologie ist die digitale Bildverarbeitung zu einer gängigen Bildverarbeitungsmethode geworden. Unter anderem ist das Hinzufügen von Rauschen zum Bild ein wichtiger Schritt bei der Bildverarbeitung. Durch das Hinzufügen von Rauschen können der Realismus und die Komplexität des Bildes verbessert werden. In diesem Artikel wird erläutert, wie Sie mithilfe von Python Bilder mit Rauschen versehen, und es werden relevante Codebeispiele bereitgestellt.

1. Bildrauschen verstehen
Bildrauschen bezieht sich auf zufällige Störungen, die die Bildqualität und -schärfe beeinträchtigen. Zu den üblichen Bildrauschen gehören Gaußsches Rauschen, Salz- und Pfefferrauschen, Poisson-Rauschen usw. Unter diesen ist Gaußsches Rauschen die häufigste und am häufigsten verwendete Art von Rauschen. Es handelt sich um eine Zufallszahl, die der Gaußschen Verteilung entspricht.

2. Python implementiert das Hinzufügen von Bildrauschen
Die Verwendung von Python zum Hinzufügen von Rauschen zu Bildern kann durch die Verwendung von NumPy- und OpenCV-Bibliotheken erreicht werden. Unten finden Sie einen Beispielcode, der zeigt, wie man einem Bild Gaußsches Rauschen hinzufügt.

import cv2
import numpy as np

def add_gaussian_noise(image):
    mean = 0
    std_dev = 50
    noise = np.random.normal(mean, std_dev, image.shape).astype(np.uint8)
    noisy_image = cv2.add(image, noise)
    return noisy_image

# 读取图像
image = cv2.imread('image.jpg')

# 添加高斯噪声
noisy_image = add_gaussian_noise(image)

# 显示原始图像和噪声图像
cv2.imshow('Original Image', image)
cv2.imshow('Noisy Image', noisy_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
Nach dem Login kopieren

Im obigen Code verwenden Sie zunächst die Funktion cv2.imread(), um ein Bild zu lesen. Anschließend wird eine Funktion add_gaussian_noise() definiert, die die Funktion np.random.normal() verwendet, um zufälliges Rauschen gemäß der Gaußschen Verteilung zu erzeugen, und cv2 verwendet . Die Funktion add() fügt dem Originalbild Rauschen hinzu. Verwenden Sie abschließend die Funktion cv2.imshow(), um das Originalbild und das Rauschbild anzuzeigen, und verwenden Sie Funktionen wie cv2.waitKey(0), um die Anzeigezeit und zu steuern Interaktion. cv2.imread()函数读取一张图像。然后,定义了一个add_gaussian_noise()函数,该函数使用np.random.normal()函数生成符合高斯分布的随机噪声,并使用cv2.add()函数将噪声添加到原始图像中。最后,使用cv2.imshow()函数显示原始图像和噪声图像,并使用cv2.waitKey(0)等函数控制显示的时间和交互。

三、其他噪声添加方法
除了高斯噪声,还有其他一些噪声添加方法可以使用。例如,可以使用np.random.randint()函数生成椒盐噪声,代码示例如下:

def add_salt_and_pepper_noise(image, salt_prob, pepper_prob):
    noise = np.zeros(image.shape, dtype=np.uint8)
    salt_locations = np.random.rand(*image.shape) < salt_prob
    pepper_locations = np.random.rand(*image.shape) < pepper_prob
    noise[salt_locations] = 255
    noise[pepper_locations] = 0
    noisy_image = cv2.add(image, noise)
    return noisy_image

# 添加椒盐噪声
noisy_image = add_salt_and_pepper_noise(image, salt_prob=0.01, pepper_prob=0.01)
Nach dem Login kopieren

在以上示例代码中,add_salt_and_pepper_noise()函数使用np.random.randint()

3. Andere Rauschadditionsmethoden

Neben dem Gaußschen Rauschen können auch andere Rauschadditionsmethoden verwendet werden. Sie können beispielsweise die Funktion np.random.randint() verwenden, um Salz- und Pfefferrauschen zu erzeugen. Das Codebeispiel lautet wie folgt:

rrreee

Im obigen Beispielcode ist der add_salt_and_pepper_noise ()-Funktion verwendet np.random.randint() generiert eine zufällige Ganzzahl zwischen 0 und 255 und setzt dann die Pixelwerte entsprechend dem Salzverhältnis auf Weiß und Schwarz und Pfefferrauschen und fügt schließlich das Rauschen zum Originalbild hinzu.

Neben dem Gaußschen Rauschen und dem Salz-und-Pfeffer-Rauschen gibt es noch einige andere Rauschmodelle. Sie können das passende Rauschmodell entsprechend Ihren Anforderungen auswählen. 🎜🎜Fazit: 🎜In diesem Artikel wird die Methode zum Hinzufügen von Rauschen zu Bildern mit Python sowie zugehörige Codebeispiele vorgestellt. Das Ändern der Eigenschaften eines Bildes durch Hinzufügen von Rauschen kann den Realismus und die Komplexität des Bildes erhöhen. In praktischen Anwendungen können je nach Bedarf unterschiedliche Geräuschmodelle ausgewählt und verwendet werden. Ich hoffe, dass dieser Artikel den Lesern hilft, das Konzept des Bildrauschens zu verstehen und Python zum Hinzufügen von Rauschen zu verwenden. 🎜

Das obige ist der detaillierte Inhalt vonSo fügen Sie Bildern mit Python Rauschen hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Muss MySQL bezahlen? Muss MySQL bezahlen? Apr 08, 2025 pm 05:36 PM

MySQL hat eine kostenlose Community -Version und eine kostenpflichtige Enterprise -Version. Die Community -Version kann kostenlos verwendet und geändert werden, die Unterstützung ist jedoch begrenzt und für Anwendungen mit geringen Stabilitätsanforderungen und starken technischen Funktionen geeignet. Die Enterprise Edition bietet umfassende kommerzielle Unterstützung für Anwendungen, die eine stabile, zuverlässige Hochleistungsdatenbank erfordern und bereit sind, Unterstützung zu bezahlen. Zu den Faktoren, die bei der Auswahl einer Version berücksichtigt werden, gehören Kritikalität, Budgetierung und technische Fähigkeiten von Anwendungen. Es gibt keine perfekte Option, nur die am besten geeignete Option, und Sie müssen die spezifische Situation sorgfältig auswählen.

Hadidb: Eine leichte, horizontal skalierbare Datenbank in Python Hadidb: Eine leichte, horizontal skalierbare Datenbank in Python Apr 08, 2025 pm 06:12 PM

Hadidb: Eine leichte, hochrangige skalierbare Python-Datenbank Hadidb (HadIDB) ist eine leichte Datenbank in Python mit einem hohen Maß an Skalierbarkeit. Installieren Sie HadIDB mithilfe der PIP -Installation: PipinstallHadIDB -Benutzerverwaltung erstellen Benutzer: createUser (), um einen neuen Benutzer zu erstellen. Die Authentication () -Methode authentifiziert die Identität des Benutzers. fromHadidb.operationImportUseruser_obj = user ("admin", "admin") user_obj.

Navicat -Methode zum Anzeigen von MongoDB -Datenbankkennwort Navicat -Methode zum Anzeigen von MongoDB -Datenbankkennwort Apr 08, 2025 pm 09:39 PM

Es ist unmöglich, das MongoDB -Passwort direkt über Navicat anzuzeigen, da es als Hash -Werte gespeichert ist. So rufen Sie verlorene Passwörter ab: 1. Passwörter zurücksetzen; 2. Überprüfen Sie die Konfigurationsdateien (können Hash -Werte enthalten). 3. Überprüfen Sie Codes (May Hardcode -Passwörter).

Wie optimieren Sie die MySQL-Leistung für Hochlastanwendungen? Wie optimieren Sie die MySQL-Leistung für Hochlastanwendungen? Apr 08, 2025 pm 06:03 PM

Die MySQL-Datenbankleistung Optimierungshandbuch In ressourcenintensiven Anwendungen spielt die MySQL-Datenbank eine entscheidende Rolle und ist für die Verwaltung massiver Transaktionen verantwortlich. Mit der Erweiterung der Anwendung werden jedoch die Datenbankleistung Engpässe häufig zu einer Einschränkung. In diesem Artikel werden eine Reihe effektiver Strategien zur Leistungsoptimierung von MySQL -Leistung untersucht, um sicherzustellen, dass Ihre Anwendung unter hohen Lasten effizient und reaktionsschnell bleibt. Wir werden tatsächliche Fälle kombinieren, um eingehende Schlüsseltechnologien wie Indexierung, Abfrageoptimierung, Datenbankdesign und Caching zu erklären. 1. Das Design der Datenbankarchitektur und die optimierte Datenbankarchitektur sind der Eckpfeiler der MySQL -Leistungsoptimierung. Hier sind einige Kernprinzipien: Die Auswahl des richtigen Datentyps und die Auswahl des kleinsten Datentyps, der den Anforderungen entspricht, kann nicht nur Speicherplatz speichern, sondern auch die Datenverarbeitungsgeschwindigkeit verbessern.

Python: Erforschen der primären Anwendungen Python: Erforschen der primären Anwendungen Apr 10, 2025 am 09:41 AM

Python wird in den Bereichen Webentwicklung, Datenwissenschaft, maschinelles Lernen, Automatisierung und Skripten häufig verwendet. 1) In der Webentwicklung vereinfachen Django und Flask Frameworks den Entwicklungsprozess. 2) In den Bereichen Datenwissenschaft und maschinelles Lernen bieten Numpy-, Pandas-, Scikit-Learn- und TensorFlow-Bibliotheken eine starke Unterstützung. 3) In Bezug auf Automatisierung und Skript ist Python für Aufgaben wie automatisiertes Test und Systemmanagement geeignet.

Wie man AWS -Kleber mit Amazon Athena verwendet Wie man AWS -Kleber mit Amazon Athena verwendet Apr 09, 2025 pm 03:09 PM

Als Datenprofi müssen Sie große Datenmengen aus verschiedenen Quellen verarbeiten. Dies kann Herausforderungen für das Datenmanagement und die Analyse darstellen. Glücklicherweise können zwei AWS -Dienste helfen: AWS -Kleber und Amazon Athena.

Der 2-stündige Python-Plan: ein realistischer Ansatz Der 2-stündige Python-Plan: ein realistischer Ansatz Apr 11, 2025 am 12:04 AM

Sie können grundlegende Programmierkonzepte und Fähigkeiten von Python innerhalb von 2 Stunden lernen. 1. Lernen Sie Variablen und Datentypen, 2. Master Control Flow (bedingte Anweisungen und Schleifen), 3.. Verstehen Sie die Definition und Verwendung von Funktionen, 4. Beginnen Sie schnell mit der Python -Programmierung durch einfache Beispiele und Code -Snippets.

Kann MySQL mit dem SQL -Server eine Verbindung herstellen? Kann MySQL mit dem SQL -Server eine Verbindung herstellen? Apr 08, 2025 pm 05:54 PM

Nein, MySQL kann keine direkt zu SQL Server herstellen. Sie können jedoch die folgenden Methoden verwenden, um die Dateninteraktion zu implementieren: Verwenden Sie Middleware: Exportieren Sie Daten von MySQL in das Zwischenformat und importieren sie dann über Middleware in SQL Server. Verwenden von Datenbank -Linker: Business -Tools bieten eine freundlichere Oberfläche und erweiterte Funktionen, die im Wesentlichen weiterhin über Middleware implementiert werden.

See all articles