set_grayvalset_grayvalSetGrayvalSetGrayval (Operator)

Name

set_grayvalset_grayvalSetGrayvalSetGrayval — Setzen von einzelnen Grauwerten in einem Bildobjekt.

Signatur

set_grayval(Image : : Row, Column, Grayval : )

Herror set_grayval(const Hobject Image, const Hlong Row, const Hlong Column, double Grayval)

Herror T_set_grayval(const Hobject Image, const Htuple Row, const Htuple Column, const Htuple Grayval)

void SetGrayval(const HObject& Image, const HTuple& Row, const HTuple& Column, const HTuple& Grayval)

void HImage::SetGrayval(const HTuple& Row, const HTuple& Column, const HTuple& Grayval) const

void HImage::SetGrayval(Hlong Row, Hlong Column, double Grayval) const

static void HOperatorSet.SetGrayval(HObject image, HTuple row, HTuple column, HTuple grayval)

void HImage.SetGrayval(HTuple row, HTuple column, HTuple grayval)

void HImage.SetGrayval(int row, int column, double grayval)

Beschreibung

set_grayvalset_grayvalSetGrayvalSetGrayvalSetGrayval setzt die Grauwerte des Eingabebildes ImageImageImageImageimage. GrayvalGrayvalGrayvalGrayvalgrayval ist dabei ein Tupel von Gleitkomma- bzw. ganzen Zahlen, das die Grauwerte enthält, die den ausgewählten Bildpunkten von ImageImageImageImageimage zugewiesen werden sollen. Die Zeilenkoordinaten der Bildpunkte stehen in RowRowRowRowrow, die Spaltenkoordinaten in ColumnColumnColumnColumncolumn. Die Grauwerte können entweder einmal für jedes Pixel, geltend für alle Kanäle, definiert werden, oder für jedes Pixel und jeden Bildkanal einzeln. Um Letzteres zu definieren, werden die Kanal-Grauwerte g zu jedem Pixel gruppiert und zu einem Tupel entsprechend der Reihenfolge der Kanäle verknüpft, z.B. für ein dreikanaliges Bild: [g(channel0,pixel0), g(channel1,pixel0), g(channel2,pixel0), g(channel0,pixel1), ... ]. Dabei ist zu beachten, dass für komplexe und Vektorfeld-Bilder zwei Grauwerte pro Pixel (pro Kanal) übergeben werden müssen.

Ist das Bild vom Typ 'direction', werden Grauwerte, die nicht innerhalb des für 'direction'-Bilder erlaubten Wertebereichs liegen, auf den Wert 255 gesetzt, um sie als ungültig zu kennzeichnen.

Achtung

Der Aufwand von set_grayvalset_grayvalSetGrayvalSetGrayvalSetGrayval ist relativ hoch. Normalerweise wird der Operator verwendet, um einzelne Grauwerte eines Bildes zu setzen. Für die Programmierung von Bildverarbeitungsoperationen wie Filter ist er nicht geeignet. Hier ist es sinnvoller, den Operator get_image_pointer1get_image_pointer1GetImagePointer1GetImagePointer1GetImagePointer1 und direkt die C- oder C++-Schnittstelle zum Einbinden von eigenen Prozeduren zu verwenden.

Darüberhinaus ist zu beachten, dass set_grayvalset_grayvalSetGrayvalSetGrayvalSetGrayval den Inhalt eines bereits bestehenden Bildes (ImageImageImageImageimage) verändert. Zudem können aber auch andere Bildobjekte betroffen sein: Wenn z.B. ImageImageImageImageimage mit Hilfe von copy_objcopy_objCopyObjCopyObjCopyObj aus einem anderen Bildobjekt erzeugt wurde, wird auch dessen Bildmatrix überschrieben. Deshalb sollte set_grayvalset_grayvalSetGrayvalSetGrayvalSetGrayval nur zum Einzeichnen in neu erzeugte Bildobjekte verwendet werden.

Ausführungsinformationen

Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:

Während der Ausführung dieses Operators muss der Zugriff auf den Wert dieses Parameters synchronisiert werden, wenn er über mehrere Threads hinweg verwendet wird.

Parameter

ImageImageImageImageimage (input_object, Zustand wird modifiziert)  (multichannel-)image objectHImageHImageHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real / complex / vector_field)

Dieses Bild wird modifiziert.

RowRowRowRowrow (input_control)  point.y(-array) HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Zeilenkoordinaten der zu modifizierenden Bildpunkte.

Defaultwert: 0

Wertevorschläge: 0, 10, 50, 127, 255, 511

Typischer Wertebereich: 0 ≤ Row Row Row Row row

Restriktion: 0 <= Row && Row < height(Image)

ColumnColumnColumnColumncolumn (input_control)  point.x(-array) HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Spaltennummern der zu modifizierenden Bildpunkte.

Defaultwert: 0

Wertevorschläge: 0, 10, 50, 127, 255, 511

Typischer Wertebereich: 0 ≤ Column Column Column Column column

Restriktion: 0 <= Column && Column < width(Image)

GrayvalGrayvalGrayvalGrayvalgrayval (input_control)  grayval(-array) HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Zu setzende Grauwerte.

Defaultwert: 255.0

Wertevorschläge: 0.0, 1.0, 10.0, 128.0, 255.0

Ergebnis

Bei korrekter Besetzung der Parameter liefert set_grayvalset_grayvalSetGrayvalSetGrayvalSetGrayval den Wert 2 (H_MSG_TRUE). 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>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

read_imageread_imageReadImageReadImageReadImage, get_image_pointer1get_image_pointer1GetImagePointer1GetImagePointer1GetImagePointer1, gen_image_protogen_image_protoGenImageProtoGenImageProtoGenImageProto, gen_image1gen_image1GenImage1GenImage1GenImage1

Alternativen

get_image_pointer1get_image_pointer1GetImagePointer1GetImagePointer1GetImagePointer1, paint_graypaint_grayPaintGrayPaintGrayPaintGray, paint_regionpaint_regionPaintRegionPaintRegionPaintRegion

Siehe auch

get_grayvalget_grayvalGetGrayvalGetGrayvalGetGrayval, gen_image_constgen_image_constGenImageConstGenImageConstGenImageConst, gen_image1gen_image1GenImage1GenImage1GenImage1, gen_image_protogen_image_protoGenImageProtoGenImageProtoGenImageProto

Modul

Foundation