scipy.ndimage.

black_tophat#

scipy.ndimage.black_tophat(input, size=None, footprint=None, structure=None, output=None, mode='reflect', cval=0.0, origin=0, *, axes=None)[Quelle]#

Mehrdimensionaler Black Tophat-Filter.

Parameter:
inputarray_like

Eingabe.

sizetuple von ints, optional

Form eines flachen und vollständigen Strukturierungselements, das für den Filter verwendet wird. Optional, wenn footprint oder structure angegeben ist.

footprintarray of ints, optional

Positionen von Nicht-Unendlich-Elementen eines flachen Strukturierungselements, das für den Black Tophat-Filter verwendet wird.

structurearray of ints, optional

Strukturierungselement, das für den Filter verwendet wird. structure kann ein nicht-flaches Strukturierungselement sein. Das Array structure wendet Offsets auf die Pixel in einer Nachbarschaft an (der Offset wird bei der Dilatation addiert und bei der Erosion subtrahiert).

outputarray, optional

Ein Array zur Speicherung der Ausgabe des Filters kann bereitgestellt werden.

mode{‘reflect’, ‘constant’, ‘nearest’, ‘mirror’, ‘wrap’}, optional

Der Parameter mode bestimmt, wie die Array-Ränder behandelt werden, wobei cval der Wert ist, wenn mode gleich ‘constant’ ist. Standard ist ‘reflect’

cvalskalar, optional

Wert, mit dem die Ränder der Eingabe gefüllt werden, wenn mode ‘constant’ ist. Standard ist 0.0.

originscalar, optional

Der Parameter origin steuert die Platzierung des Filters. Standard ist 0

axestuple von int oder None

Die Achsen, über die der Filter angewendet wird. Wenn None, wird input über alle Achsen gefiltert. Wenn ein origin-Tupel angegeben wird, muss seine Länge mit der Anzahl der Achsen übereinstimmen.

Rückgabe:
black_tophatndarray

Ergebnis des Filters von input mit structure.

Beispiele

Dunkle Spitzen in helle Spitzen umwandeln und den Hintergrund subtrahieren.

>>> from scipy.ndimage import generate_binary_structure, black_tophat
>>> import numpy as np
>>> square = generate_binary_structure(rank=2, connectivity=3)
>>> dark_on_gray = np.array([[7, 6, 6, 6, 7],
...                          [6, 5, 4, 5, 6],
...                          [6, 4, 0, 4, 6],
...                          [6, 5, 4, 5, 6],
...                          [7, 6, 6, 6, 7]])
>>> black_tophat(input=dark_on_gray, structure=square)
array([[0, 0, 0, 0, 0],
       [0, 0, 1, 0, 0],
       [0, 1, 5, 1, 0],
       [0, 0, 1, 0, 0],
       [0, 0, 0, 0, 0]])