ClassesClassesClassesClasses | | | | Operators

fill_interlacefill_interlaceFillInterlacefill_interlaceFillInterlaceFillInterlace (Operator)

Name

fill_interlacefill_interlaceFillInterlacefill_interlaceFillInterlaceFillInterlace — Interpolate 2 video half images.

Signature

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)

Description

The operator fill_interlacefill_interlaceFillInterlacefill_interlaceFillInterlaceFillInterlace calculates an interpolated full image or removes odd/even lines from a video image composed of two half images. If an image is recorded with a video camera it consists of two half images recorded at different times but stored in one image in the digital form. This can lead to several errors in further processing. In order to reduce these errors the video image is modified. Every second line is re-calculated or removed. The parameter ModeModeModeModeModemode determines whether this must be done for even ('even', 'rmeven') or odd ('odd', 'rmodd') line numbers. If you choose 'even' or 'odd' the gray values in the generated lines are calculated as mean values from the direct neighbors above or below the current pixel, respectively. If you choose 'rmeven' or 'rmodd' the even or odd lines numbers are removed (in that case the resulting image is only half as high as the input image). The value 'switch' for ModeModeModeModeModemode cause the odd and even lines to be exchanged.

Parallelization

Parameters

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

Gray image consisting of two half images.

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

Full image with interpolated/removed lines.

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

Instruction whether even or odd lines should be replaced/removed.

Default value: 'odd' "odd" "odd" "odd" "odd" "odd"

List of values: '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"

Example (HDevelop)

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

Example (C)

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

Example (HDevelop)

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

Example (HDevelop)

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

Example (HDevelop)

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

Example (HDevelop)

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

Complexity

For each pixel: O(2).

Result

If the parameter values are correct the operator fill_interlacefill_interlaceFillInterlacefill_interlaceFillInterlaceFillInterlace returns the value 2 (H_MSG_TRUE). The behavior in case of empty input (no input images available) is set via the operator 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>). If necessary an exception is raised.

Possible Predecessors

read_imageread_imageReadImageread_imageReadImageReadImage, grab_imagegrab_imageGrabImagegrab_imageGrabImageGrabImage

Possible Successors

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_imagegauss_imageGaussImagegauss_imageGaussImageGaussImage, anisotropic_diffusionanisotropic_diffusionAnisotropicDiffusionanisotropic_diffusionAnisotropicDiffusionAnisotropicDiffusion, sigma_imagesigma_imageSigmaImagesigma_imageSigmaImageSigmaImage, median_imagemedian_imageMedianImagemedian_imageMedianImageMedianImage

See also

median_imagemedian_imageMedianImagemedian_imageMedianImageMedianImage, binomial_filterbinomial_filterBinomialFilterbinomial_filterBinomialFilterBinomialFilter, gauss_imagegauss_imageGaussImagegauss_imageGaussImageGaussImage, crop_partcrop_partCropPartcrop_partCropPartCropPart

Module

Foundation


ClassesClassesClassesClasses | | | | Operators