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!
💙