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


Konnte ich helfen? Ich freue mich über einen Drink! 💙