Interpolate 2 video half images.
The operator fill_interlace__ calculates an interpolated full image 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 grave errors in further processing. In order to reduce these errors the video image is modified. Every second line is re-calculated. The parameter OddEven determines whether this must be done for even or odd line numbers. The gray values in the generated lines are calculated as mean values from the direct neighbor above or below the current pixel, respectively.
ImageCamera (input_object) |
image(-array) -> object : byte |
Gray image consisting of two half images. |
ImageFilled (output_object) |
image(-array) -> object : byte |
Full image with interpolated lines. |
OddEven (input_control) |
string -> string |
Instruction whether even or odd lines should be replaced. | |
Default value: 'odd' | |
List of values: 'odd', 'even' |
read_image(Image:'video_bild'::) > fill_interlace__(Image:New:'odd':) > sobel_amp(New:Sobel:'sum_abs',3).
For each pixel: O(2).
If the parameter values are correct the operator fill_interlace__ returns the value TRUE. The behavior in case of empty input (no input images available) is set via the operator set_system(::'no_object_result',<Resultat>:). If necessary an exception is raised.
sobel_amp, edges__, regiongrowing__, diff_of_gauss__, threshold__, dyn_threshold__, auto_threshold2, mean__, gauss__, anisotrope_diff__, sigma__, median