add_noise_distribution
— Synthetisches Verrauschen eines Bildes.
add_noise_distribution(Image : ImageNoise : Distribution : )
add_noise_distribution
Überlagert das Eingabebild (Image
)
mit Rauschen, das der Verteilung von Distribution
entspricht. Es
erfolgt ein Clipping der resultierenden Grauwerte auf den Bereich des
entsprechenden Pixeltyps.
Die Verteilung wird in einem Tupel der Länge 513 übergeben. Die einzelnen Werte dieses Tupels legen die Häufigkeit der Pixel fest, die mit einer bestimmten Amplitude verrauscht werden. Diese Amplitude ist durch die Position des Häufigkeitswertes im Tupel festgelegt. Der mittlere Wert, d.h., der Wert an der Position 256 des Tupels legt die Häufigkeit der Pixel fest, deren Grauwert nicht verändert wird. Der Wert an der Position 255 des Tupels legt die Häufigkeit der Pixel fest, deren Grauwert um 1 verringert wird. Der Wert an der Position 254 legt die Häufigkeit der Pixel fest, deren Grauwert um 2 verringert wird, usw. Analog hierzu legt der Wert an der Position 257 die Häufigkeit der Pixel fest, deren Grauwert um 1 erhöht wird.
Wenn maximal ein Wert an einer Position kleiner als 256 und maximal ein Wert
an einer Position größer als 256 ungleich Null ist, so stellt die Verteilung
Distribution
eine Salz und Pfeffer-Verteilung dar. Im Falle einer
Salz und Pfeffer-Verteilung werden die verrauschten Pixel auf den minimalen
(Pfeffer) bzw. maximalen (Salz) Grauwert gesetzt der in dem Ausgabebild
ImageNoise
darstellbar ist, wenn die Häufigkeit von Pfeffer durch
den Wert an der Position 0 bzw. die Häufigkeit von Salz durch den Wert an
der Position 512 im Tupel definiert ist.
Image
(input_object) (multichannel-)image(-array) →
object (byte / int2)
Bild, das verrauscht werden soll.
ImageNoise
(output_object) (multichannel-)image(-array) →
object (byte / int2)
Verrauschtes Bild.
Parameteranzahl: ImageNoise == Image
Distribution
(input_control) distribution.values-array →
(real)
Rauschverteilung.
Parameteranzahl: 513
read_image(Image,'mreut') dev_display (Image) sp_distribution(30,30,Dist) add_noise_distribution(Image,ImageNoise,Dist) dev_display (ImageNoise)
add_noise_distribution
liefert den Wert 2 (H_MSG_TRUE), falls die Parameter
korrekt sind. Das Verhalten bei leerer Eingabe (keine Eingabebilder
vorhanden) lässt sich mittels
set_system('no_object_result',<Result>)
festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
gauss_distribution
,
sp_distribution
,
noise_distribution_mean
sp_distribution
,
gauss_distribution
,
noise_distribution_mean
,
add_noise_white
Foundation