Bildverarbeitung · OpenCV · Programming · Python

Rauschen auf Bildern erzeugen mit OpenCV+Python

Für den Blogbeitrag über die verschiedenen Weichzeichnungmethoden habe ich Bilder mit verschiedenen Rauschsorten verwendet. Dieses Rauschen ist auf dem Originalfoto vom Eiffelturm nicht vorhanden sondern wurde nachträglich eingefügt. Auch wenn das für die digitale Bildverarbeitung eher uninteressant ist möchte ich in diesem Beitrag zeigen wie man so etwas umsetzt.

Salz und Pfeffer Rauschen

Als Salz & Pfeffer Rauschen bezeichnet man einzelne schwarze oder weiße zufällig verteilte Punkte auf einem Bild.

import numpy
import cv2
def saltPepper(bild,verteilung=0.5,menge = 0.04):
  ausgabe = bild
  salzmenge = numpy.ceil(menge * bild.size * verteilung)
  koordinaten = [numpy.random.randint(0, i-1, int(salzmenge)) for i in bild.shape]
  ausgabe[koordinaten] = 255

  pfeffermenge = numpy.ceil(menge * bild.size * (1.0-verteilung))
  koordinaten = [numpy.random.randint(0,i-1,int(pfeffermenge)) for i in bild.shape]
  ausgabe[koordinaten] = 0
  return ausgabe

Gaußverteiltes Rauschen

Gaußverteiltes Rauschen bezeichnet man Rauschen bei dem die einzelnen Pixel nicht komplett Schwarz oder Weiß sind sondern nur teilweise von ihrem eigentlichen Wert abweichen.

import numpy
import cv2
def gaussrauschen(bild, grundwert=10,abweichung=10):
  try:
    row,col,ch = bild.shape
  except:
    row,col = bild.shape
  ch = 1
  noisy = numpy.zeros((row,col,ch),numpy.uint8)
  gauss = numpy.random.normal(grundwert,abweichung,(row,col,ch))
  gauss = gauss.reshape(row,col,ch)
  gauss = cv2.convertScaleAbs(gauss)
  noisy = cv2.add(bild,gauss)
  noisy = bild + gauss
  return noisy
Werbeanzeigen

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google Foto

Du kommentierst mit Deinem Google-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s