ImageDev

DeinterlaceFrames2d

Separates even and odd frames from an interlaced image.

Access to parameter description

This algorithm generates two output images from an interlaced input image. The first output image contains all even rows of the input image, while the second output image contains its odd rows.

See also

Function Syntax

This function returns a DeinterlaceFrames2dOutput structure containing outputEvenImage and outputOddImage.
// Output structure of the deinterlaceFrames2d function.
struct DeinterlaceFrames2dOutput
{
    /// The output even field image.
    std::shared_ptr< iolink::ImageView > outputEvenImage;
    /// The output odd field image.
    std::shared_ptr< iolink::ImageView > outputOddImage;
};

// Function prototype
DeinterlaceFrames2dOutput deinterlaceFrames2d( std::shared_ptr< iolink::ImageView > inputImage, DeinterlaceFrames2d::SplitMode splitMode, std::shared_ptr< iolink::ImageView > outputEvenImage = NULL, std::shared_ptr< iolink::ImageView > outputOddImage = NULL );

Class Syntax

Parameters

Parameter Name Description Type Supported Values Default Value
input
inputImage
The input image. Image Binary, Label, Grayscale or Multispectral nullptr
input
splitMode
The split mode for generating the output images.
HALF_IMAGE This mode produces two images having half the Y size of the input image.
FULL_IMAGE This mode produces two images having the same size as the input image by repeating every second horizontal line.
Enumeration HALF_IMAGE
output
outputEvenImage
The output even field image. Image nullptr
output
outputOddImage
The output odd field image. Image nullptr

Object Examples

std::shared_ptr< iolink::ImageView > polystyrene = ioformat::readImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene.tif" );

DeinterlaceFrames2d deinterlaceFrames2dAlgo;
deinterlaceFrames2dAlgo.setInputImage( polystyrene );
deinterlaceFrames2dAlgo.setSplitMode( DeinterlaceFrames2d::SplitMode::HALF_IMAGE );
deinterlaceFrames2dAlgo.execute();

std::cout << "outputEvenImage:" << deinterlaceFrames2dAlgo.outputEvenImage()->toString();
std::cout << "outputOddImage:" << deinterlaceFrames2dAlgo.outputOddImage()->toString();

Function Examples

std::shared_ptr< iolink::ImageView > polystyrene = ioformat::readImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene.tif" );

auto result = deinterlaceFrames2d( polystyrene, DeinterlaceFrames2d::SplitMode::HALF_IMAGE );

std::cout << "outputEvenImage:" << result.outputEvenImage->toString();
std::cout << "outputOddImage:" << result.outputOddImage->toString();