shock_filtershock_filterShockFilterShockFiltershock_filter (Operator)

Name

shock_filtershock_filterShockFilterShockFiltershock_filter — Anwendung eines Schockfilters auf ein Bild.

Signatur

shock_filter(Image : SharpenedImage : Theta, Iterations, Mode, Sigma : )

Herror shock_filter(const Hobject Image, Hobject* SharpenedImage, double Theta, const Hlong Iterations, const char* Mode, double Sigma)

Herror T_shock_filter(const Hobject Image, Hobject* SharpenedImage, const Htuple Theta, const Htuple Iterations, const Htuple Mode, const Htuple Sigma)

void ShockFilter(const HObject& Image, HObject* SharpenedImage, const HTuple& Theta, const HTuple& Iterations, const HTuple& Mode, const HTuple& Sigma)

HImage HImage::ShockFilter(double Theta, Hlong Iterations, const HString& Mode, double Sigma) const

HImage HImage::ShockFilter(double Theta, Hlong Iterations, const char* Mode, double Sigma) const

HImage HImage::ShockFilter(double Theta, Hlong Iterations, const wchar_t* Mode, double Sigma) const   (Nur Windows)

static void HOperatorSet.ShockFilter(HObject image, out HObject sharpenedImage, HTuple theta, HTuple iterations, HTuple mode, HTuple sigma)

HImage HImage.ShockFilter(double theta, int iterations, string mode, double sigma)

def shock_filter(image: HObject, theta: float, iterations: int, mode: str, sigma: float) -> HObject

Beschreibung

Der Operator shock_filtershock_filterShockFilterShockFilterShockFiltershock_filter wendet einen Schockfilter zur Schärfung von Bildkanten auf das Eingabebild ImageImageImageImageimageimage an. Das Prinzip eines Schockfilters beruht darauf, die Grauwerte eines Bildes durch Dilation und Erosion von beiden Seiten auf eine Kante zu zu transportieren und erfüllt somit die Differentialgleichung auf der zum Zeitpunkt durch die Grauwerte in ImageImageImageImageimageimage definierten Funktion u. Die diskretisierte Gleichung wird in IterationsIterationsIterationsIterationsiterationsiterations Zeitschritten der Länge ThetaThetaThetaThetathetatheta gelöst, so dass das Ausgabebild SharpenedImageSharpenedImageSharpenedImageSharpenedImagesharpenedImagesharpened_image die Grauwertfunktion zur Zeit enthält.

Die Entscheidung für Dilation oder Erosion wird über die Vorzeichenfunktion s mit den Werten {-1,0,+1} mit Hilfe eines üblichen Kantendetektors getroffen. Es stehen der Detektor von Canny mit ModeModeModeModemodemode='canny'"canny""canny""canny""canny""canny" und der Detektor von Marr/Hildreth (der Laplace-Operator) mit ModeModeModeModemodemode='laplace'"laplace""laplace""laplace""laplace""laplace" zur Verfügung.

Damit die Erkennung der Kanten, insbesondere bei verrauschten Bildern, robuster erfolgt, kann diese auf einer geglätteten Bildmatrix ausgeführt werden. Dazu kann im Parameter SigmaSigmaSigmaSigmasigmasigma die Standardabweichung eines Gaußkernes angegeben werden, mit dem die Bildmatrix gefaltet werden soll.

Achtung

Beachten Sie, dass Filteroperatoren eventuell unerwartete Resultate ausgeben, wenn ein Bild mit einer reduzierten Domäne als Input übergeben wird. Weitere Informationen können im Kapitel Filter gefunden werden.

Ausführungsinformationen

Parameter

ImageImageImageImageimageimage (input_object)  (multichannel-)image(-array) objectHImageHObjectHImageHobject (byte / uint2 / real)

Eingabebild.

SharpenedImageSharpenedImageSharpenedImageSharpenedImagesharpenedImagesharpened_image (output_object)  image(-array) objectHImageHObjectHImageHobject * (byte / uint2 / real)

Ausgabebild.

ThetaThetaThetaThetathetatheta (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Zeitschritt.

Defaultwert: 0.5

Wertevorschläge: 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7

Restriktion: 0 < Theta <= 0.7

IterationsIterationsIterationsIterationsiterationsiterations (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Anzahl Iterationen.

Defaultwert: 10

Wertevorschläge: 1, 3, 10, 100

Restriktion: Iterations >= 1

ModeModeModeModemodemode (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Art des Kantendetektors.

Defaultwert: 'canny' "canny" "canny" "canny" "canny" "canny"

Werteliste: 'canny'"canny""canny""canny""canny""canny", 'laplace'"laplace""laplace""laplace""laplace""laplace"

SigmaSigmaSigmaSigmasigmasigma (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Glättung des Kantendetektors.

Defaultwert: 1.0

Wertevorschläge: 0.0, 0.5, 1.0, 2.0, 5.0

Restriktion: Theta >= 0

Literatur

F. Guichard, J. Morel; „A Note on Two Classical Shock Filters and Their Asymptotics“; Michael Kerckhove (Ed.): Scale-Space and Morphology in Computer Vision, LNCS 2106, pp. 75-84; Springer, New York; 2001.
G. Aubert, P. Kornprobst; „Mathematical Problems in Image Processing“; Applied Mathematical Sciences 147; Springer, New York; 2002.

Modul

Foundation