KlassenKlassenKlassenKlassen | | | | Operatoren

div_imagediv_imageDivImagediv_imageDivImageDivImage (Operator)

Name

div_imagediv_imageDivImagediv_imageDivImageDivImage — Dividieren zweier Bilder.

Signatur

div_image(Image1, Image2 : ImageResult : Mult, Add : )

Herror div_image(const Hobject Image1, const Hobject Image2, Hobject* ImageResult, double Mult, double Add)

Herror T_div_image(const Hobject Image1, const Hobject Image2, Hobject* ImageResult, const Htuple Mult, const Htuple Add)

Herror div_image(Hobject Image1, Hobject Image2, Hobject* ImageResult, const HTuple& Mult, const HTuple& Add)

HImage HImage::DivImage(const HImage& Image2, const HTuple& Mult, const HTuple& Add) const

HImageArray HImageArray::DivImage(const HImageArray& Image2, const HTuple& Mult, const HTuple& Add) const

void DivImage(const HObject& Image1, const HObject& Image2, HObject* ImageResult, const HTuple& Mult, const HTuple& Add)

HImage HImage::DivImage(const HImage& Image2, const HTuple& Mult, const HTuple& Add) const

HImage HImage::DivImage(const HImage& Image2, double Mult, double Add) const

void HOperatorSetX.DivImage(
[in] IHUntypedObjectX* Image1, [in] IHUntypedObjectX* Image2, [out] IHUntypedObjectX*ImageResult, [in] VARIANT Mult, [in] VARIANT Add)

IHImageX* HImageX.DivImage(
[in] IHImageX* Image2, [in] VARIANT Mult, [in] VARIANT Add)

static void HOperatorSet.DivImage(HObject image1, HObject image2, out HObject imageResult, HTuple mult, HTuple add)

HImage HImage.DivImage(HImage image2, HTuple mult, HTuple add)

HImage HImage.DivImage(HImage image2, double mult, double add)

Beschreibung

div_imagediv_imageDivImagediv_imageDivImageDivImage dividiert zwei Bilder. Die Grauwerte (g1,g2) der Eingabebilder (Image1Image1Image1Image1Image1image1) werden dabei wie folgt transformiert:

                g' := g1 / g2 * Mult + Add
Tritt ein Überlauf oder ein Unterlauf ein, so werden die Werte beschnitten. Wird durch 0 dividiert, wird das Ergebnis auf 0 gesetzt.

Es können mehrere Bilder pro Aufruf bearbeitet werden. In diesem Fall enthalten beide Eingabeparameter gleich viele Bilder, die dann paarweise abgearbeitet werden. Zu jedem Paar wird ein Ausgabebild erzeugt.

div_imagediv_imageDivImagediv_imageDivImageDivImage kann für byte-, int1-, int2-, uint2-, int4-, real-, und complex-Bilder auf OpenCL Geräten ausgeführt werden. Da OpenCL 1.0 aber nur einfache genaue Fließkommaunterstützung voraussetzt und nicht alle Rundungsarten unterstützt werden, kann das Ergebnis der OpenCL-Implementierung geringfügig von dem der skalaren Implementierung abweichen.

Parallelisierung

Parameter

Image1Image1Image1Image1Image1image1 (input_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject (byte* / int1* / int2* / uint2* / int4* / int8 / real* / complex*) *erlaubt für Compute Devices

Bild(er) 1.

Image2Image2Image2Image2Image2image2 (input_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject (byte* / int1* / int2* / uint2* / int4* / int8 / real* / complex*) *erlaubt für Compute Devices

Bild(er) 2.

ImageResultImageResultImageResultImageResultImageResultimageResult (output_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject * (byte / int1 / int2 / uint2 / int4 / int8 / real / complex)

Ergebnisbild(er) durch die Division.

MultMultMultMultMultmult (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Faktor für Graubereichsanpassung.

Defaultwert: 255

Wertevorschläge: 0.1, 0.2, 0.5, 1.0, 2.0, 3.0, 10, 100, 500, 1000

Typischer Wertebereich: -1000 ≤ Mult Mult Mult Mult Mult mult ≤ 1000

Minimale Schrittweite: 0.001

Empfohlene Schrittweite: 1

AddAddAddAddAddadd (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Wert für Graubereichsanpassung.

Defaultwert: 0

Wertevorschläge: 0.0, 128.0, 256.0, 1025

Typischer Wertebereich: -1000 ≤ Add Add Add Add Add add ≤ 1000

Minimale Schrittweite: 0.01

Empfohlene Schrittweite: 1.0

Beispiel (HDevelop)

read_image(Image1,'fabrik')
dev_display (Image1)
read_image(Image2,'monkey')
dev_display (Image2)
div_image (Image1, Image2, Result, 200, 10)
dev_display (Result)

Beispiel (C)

read_image(&Image1,"fabrik");
disp_image(Image1,WindowHandle);
read_image(&Image2,"monkey");
disp_image(Image2,WindowHandle);
div_image(Image1,Image2,&Result,200.0,10.0);
disp_image(Result,WindowHandle);

Beispiel (HDevelop)

read_image(Image1,'fabrik')
dev_display (Image1)
read_image(Image2,'monkey')
dev_display (Image2)
div_image (Image1, Image2, Result, 200, 10)
dev_display (Result)

Beispiel (HDevelop)

read_image(Image1,'fabrik')
dev_display (Image1)
read_image(Image2,'monkey')
dev_display (Image2)
div_image (Image1, Image2, Result, 200, 10)
dev_display (Result)

Beispiel (HDevelop)

read_image(Image1,'fabrik')
dev_display (Image1)
read_image(Image2,'monkey')
dev_display (Image2)
div_image (Image1, Image2, Result, 200, 10)
dev_display (Result)

Beispiel (HDevelop)

read_image(Image1,'fabrik')
dev_display (Image1)
read_image(Image2,'monkey')
dev_display (Image2)
div_image (Image1, Image2, Result, 200, 10)
dev_display (Result)

Ergebnis

div_imagediv_imageDivImagediv_imageDivImageDivImage 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>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Alternativen

add_imageadd_imageAddImageadd_imageAddImageAddImage, sub_imagesub_imageSubImagesub_imageSubImageSubImage, mult_imagemult_imageMultImagemult_imageMultImageMultImage

Siehe auch

add_imageadd_imageAddImageadd_imageAddImageAddImage, sub_imagesub_imageSubImagesub_imageSubImageSubImage, mult_imagemult_imageMultImagemult_imageMultImageMultImage

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren