set_grayvalset_grayvalSetGrayvalSetGrayvalset_grayval (Operator)

Name

set_grayvalset_grayvalSetGrayvalSetGrayvalset_grayval — 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)

def set_grayval(image: HObject, row: MaybeSequence[int], column: MaybeSequence[int], grayval: MaybeSequence[Union[int, float]]) -> None

Beschreibung

set_grayvalset_grayvalSetGrayvalSetGrayvalset_grayval 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_grayvalSetGrayvalSetGrayvalset_grayval 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_pointer1GetImagePointer1GetImagePointer1get_image_pointer1 und direkt die C- oder C++-Schnittstelle zum Einbinden von eigenen Prozeduren zu verwenden.

Darüberhinaus ist zu beachten, dass set_grayvalset_grayvalSetGrayvalSetGrayvalset_grayval 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_objCopyObjCopyObjcopy_obj aus einem anderen Bildobjekt erzeugt wurde, wird auch dessen Bildmatrix überschrieben. Deshalb sollte set_grayvalset_grayvalSetGrayvalSetGrayvalset_grayval 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 objectHImageHObjectHObjectHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real / complex / vector_field)

Dieses Bild wird modifiziert.

RowRowRowrowrow (input_control)  point.y(-array) HTupleMaybeSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Zeilenkoordinaten der zu modifizierenden Bildpunkte.

Default: 0

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

Wertebereich: 0 ≤ Row Row Row row row

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

ColumnColumnColumncolumncolumn (input_control)  point.x(-array) HTupleMaybeSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Spaltennummern der zu modifizierenden Bildpunkte.

Default: 0

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

Wertebereich: 0 ≤ Column Column Column column column

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

GrayvalGrayvalGrayvalgrayvalgrayval (input_control)  grayval(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Zu setzende Grauwerte.

Default: 255.0

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

Ergebnis

Bei korrekter Besetzung der Parameter liefert set_grayvalset_grayvalSetGrayvalSetGrayvalset_grayval 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>)set_system("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

read_imageread_imageReadImageReadImageread_image, get_image_pointer1get_image_pointer1GetImagePointer1GetImagePointer1get_image_pointer1, gen_image_protogen_image_protoGenImageProtoGenImageProtogen_image_proto, gen_image1gen_image1GenImage1GenImage1gen_image1

Alternativen

get_image_pointer1get_image_pointer1GetImagePointer1GetImagePointer1get_image_pointer1, paint_graypaint_grayPaintGrayPaintGraypaint_gray, paint_regionpaint_regionPaintRegionPaintRegionpaint_region

Siehe auch

get_grayvalget_grayvalGetGrayvalGetGrayvalget_grayval, gen_image_constgen_image_constGenImageConstGenImageConstgen_image_const, gen_image1gen_image1GenImage1GenImage1gen_image1, gen_image_protogen_image_protoGenImageProtoGenImageProtogen_image_proto

Modul

Foundation