KlassenKlassenKlassenKlassen | | | | Operatoren

fill_interlacefill_interlaceFillInterlacefill_interlaceFillInterlaceFillInterlace (Operator)

Name

fill_interlacefill_interlaceFillInterlacefill_interlaceFillInterlaceFillInterlace — Interpolation von 2 Video-Halbbildern.

Signatur

fill_interlace(ImageCamera : ImageFilled : Mode : )

Herror fill_interlace(const Hobject ImageCamera, Hobject* ImageFilled, const char* Mode)

Herror T_fill_interlace(const Hobject ImageCamera, Hobject* ImageFilled, const Htuple Mode)

Herror fill_interlace(Hobject ImageCamera, Hobject* ImageFilled, const HTuple& Mode)

HImage HImage::FillInterlace(const HTuple& Mode) const

HImageArray HImageArray::FillInterlace(const HTuple& Mode) const

void FillInterlace(const HObject& ImageCamera, HObject* ImageFilled, const HTuple& Mode)

HImage HImage::FillInterlace(const HString& Mode) const

HImage HImage::FillInterlace(const char* Mode) const

void HOperatorSetX.FillInterlace(
[in] IHUntypedObjectX* ImageCamera, [out] IHUntypedObjectX*ImageFilled, [in] VARIANT Mode)

IHImageX* HImageX.FillInterlace([in] BSTR Mode)

static void HOperatorSet.FillInterlace(HObject imageCamera, out HObject imageFilled, HTuple mode)

HImage HImage.FillInterlace(string mode)

Beschreibung

fill_interlacefill_interlaceFillInterlacefill_interlaceFillInterlaceFillInterlace berechnet aus einem Videobild, das aus zwei Halbbildern zusammengesetzt ist, ein interpoliertes Vollbild bzw. entfernt gerade oder ungerade Bildzeilen. Wird ein Bild mit einer Videokamera aufgenommen, so besteht dies aus zwei Halbbildern, die mit einem zeitlichen Abstand aufgenommen wurden, aber in der digitalen Form in einem gemeinsamen Bild abgelegt sind. Hierdurch können starke Fehler bei der weiteren Verarbeitung entstehen. Um diese Fehler etwas zu mildern, wird das Videobild modifiziert. Dabei wird entweder jede zweite Zeile neu berechnet oder entfernt. Der Parameter ModeModeModeModeModemode gibt an, ob dies für gerade ('even' bzw. 'rmeven') oder ungerade ('odd' bzw. 'rmodd') Zeilennummern gemacht werden soll. In den Modi 'even' bzw. 'odd' werden die Grauwerte in den erzeugten Zeilen als Mittelwert aus dem direkten Nachbarn oberhalb bzw. unterhalb des aktuellen Punktes berechnet. In den Modi 'rmeven' bzw. 'rmodd' werden gerade bzw. ungerade Zeilen entfernt (dementsprechend hat dann das Ausgabebild nur noch die halbe Höhe des Eingabebildes). Hat ModeModeModeModeModemode den Wert 'switch', dann werden gerade und ungerade Zeilen vertauscht.

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.

Parallelisierung

Parameter

ImageCameraImageCameraImageCameraImageCameraImageCameraimageCamera (input_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject (byte / uint2)

Graubild, bestehend aus zwei Halbbildern.

ImageFilledImageFilledImageFilledImageFilledImageFilledimageFilled (output_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject * (byte / uint2)

Vollbild mit interpolierten bzw. entfernten Zeilen.

ModeModeModeModeModemode (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Angabe, ob die geraden oder ungeraden Zeilen ersetzt bzw. entfernt werden sollen.

Defaultwert: 'odd' "odd" "odd" "odd" "odd" "odd"

Werteliste: 'even'"even""even""even""even""even", 'odd'"odd""odd""odd""odd""odd", 'rmeven'"rmeven""rmeven""rmeven""rmeven""rmeven", 'rmodd'"rmodd""rmodd""rmodd""rmodd""rmodd", 'switch'"switch""switch""switch""switch""switch"

Beispiel (HDevelop)

read_image(Image,'video_image')
fill_interlace(Image,New,'odd')
sobel_amp(New,Sobel,'sum_abs',3)

Beispiel (C)

read_image(&Image,"video_image");
fill_interlace(Image,&New,"odd");
sobel_amp(New,&Sobel,"sum_abs",3);

Beispiel (HDevelop)

read_image(Image,'video_image')
fill_interlace(Image,New,'odd')
sobel_amp(New,Sobel,'sum_abs',3)

Beispiel (HDevelop)

read_image(Image,'video_image')
fill_interlace(Image,New,'odd')
sobel_amp(New,Sobel,'sum_abs',3)

Beispiel (HDevelop)

read_image(Image,'video_image')
fill_interlace(Image,New,'odd')
sobel_amp(New,Sobel,'sum_abs',3)

Beispiel (HDevelop)

read_image(Image,'video_image')
fill_interlace(Image,New,'odd')
sobel_amp(New,Sobel,'sum_abs',3)

Komplexität

Pro Bildpunkt: O(2).

Ergebnis

Sind die Parameterwerte korrekt, dann liefert fill_interlacefill_interlaceFillInterlacefill_interlaceFillInterlaceFillInterlace 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>)set_system("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_imageReadImageread_imageReadImageReadImage, grab_imagegrab_imageGrabImagegrab_imageGrabImageGrabImage

Nachfolger

sobel_ampsobel_ampSobelAmpsobel_ampSobelAmpSobelAmp, edges_imageedges_imageEdgesImageedges_imageEdgesImageEdgesImage, regiongrowingregiongrowingRegiongrowingregiongrowingRegiongrowingRegiongrowing, diff_of_gaussdiff_of_gaussDiffOfGaussdiff_of_gaussDiffOfGaussDiffOfGauss, thresholdthresholdThresholdthresholdThresholdThreshold, dyn_thresholddyn_thresholdDynThresholddyn_thresholdDynThresholdDynThreshold, auto_thresholdauto_thresholdAutoThresholdauto_thresholdAutoThresholdAutoThreshold, mean_imagemean_imageMeanImagemean_imageMeanImageMeanImage, binomial_filterbinomial_filterBinomialFilterbinomial_filterBinomialFilterBinomialFilter, gauss_filtergauss_filterGaussFiltergauss_filterGaussFilterGaussFilter, anisotropic_diffusionanisotropic_diffusionAnisotropicDiffusionanisotropic_diffusionAnisotropicDiffusionAnisotropicDiffusion, sigma_imagesigma_imageSigmaImagesigma_imageSigmaImageSigmaImage, median_imagemedian_imageMedianImagemedian_imageMedianImageMedianImage

Siehe auch

median_imagemedian_imageMedianImagemedian_imageMedianImageMedianImage, binomial_filterbinomial_filterBinomialFilterbinomial_filterBinomialFilterBinomialFilter, gauss_filtergauss_filterGaussFiltergauss_filterGaussFilterGaussFilter, crop_partcrop_partCropPartcrop_partCropPartCropPart

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren