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