OpenCV

This arrow is a collection of vital algorithms implemented with the OpenCV API

This arrow can be built by enabling the KWIVER_ENABLE_OPENCV CMake flag

This arrow contains the following functionality:

Analyze Tracks Algorithm

class analyze_tracks : public kwiver::vital::algorithm_impl<analyze_tracks, vital::algo::analyze_tracks>

A class for outputting various debug info about feature tracks.

Public Functions

analyze_tracks()

Constructor.

~analyze_tracks()

Destructor.

vital::config_block_sptr get_configuration() const

Get this algorithm’s configuration block .

void set_configuration(vital::config_block_sptr config)

Set this algorithm’s properties via a config block.

bool check_configuration(vital::config_block_sptr config) const

Check that the algorithm’s currently configuration is valid.

void print_info(vital::track_set_sptr track_set, stream_t &stream = std::cout) const

Output various information about the tracks stored in the input set.

Parameters
  • track_set: the tracks to analyze
  • stream: an output stream to write data onto

class priv

Private implementation class.

Public Functions

priv()

Constructor.

~priv()

Destructor.

Public Members

bool output_summary

Text output parameters.

Detect Features Algorithm

class detect_features : public kwiver::vital::algo::detect_features

OCV Specific base definition for algorithms that detect feature points.

This extended algorithm_def provides a common implementation for the detect method.

Public Functions

vital::feature_set_sptr detect(vital::image_container_sptr image_data, vital::image_container_sptr mask = vital::image_container_sptr()) const

Extract a set of image features from the provided image.

A given mask image should be one-channel (mask->depth() == 1). If the given mask image has more than one channel, only the first will be considered.

Return
a set of image features
Parameters
  • image_data: contains the image data to process
  • mask: Mask image where regions of positive values (boolean true) indicate regions to consider. Only the first channel will be considered.

Detect Features AGAST Algorithm

Warning

doxygenclass: Cannot find class “kwiver::arrows::ocv::detect_features_AGAST” in doxygen xml output for project “kwiver” from directory: ./_build/xml

Detect Features FAST Algorithm

class detect_features_FAST : public kwiver::vital::algorithm_impl<detect_features_FAST, ocv::detect_features, vital::algo::detect_features>

Public Functions

detect_features_FAST()

Constructor.

~detect_features_FAST()

Destructor.

vital::config_block_sptr get_configuration() const

Get this algorithm’s configuration block .

void set_configuration(vital::config_block_sptr config)

Set this algorithm’s properties via a config block.

bool check_configuration(vital::config_block_sptr config) const

Check that the algorithm’s configuration vital::config_block is valid.

class priv

Public Functions

priv()

Constructor.

cv::Ptr<cv::FastFeatureDetector> create() const

Create a new FAST detector instance with the current parameter values.

void update(cv::Ptr<cv::FastFeatureDetector> detector) const

Update the parameters of the given detector with the currently set values.

void update_config(config_block_sptr config) const

Update given config block with currently set parameter values.

void set_config(config_block_sptr const &config)

Set parameter values based on given config block.

bool check_config(vital::config_block_sptr const &config, logger_handle_t const &logger) const

Check config parameter values.

Detect Features GFTT Algorithm

class detect_features_GFTT : public kwiver::vital::algorithm_impl<detect_features_GFTT, ocv::detect_features, vital::algo::detect_features>

Public Functions

detect_features_GFTT()

Constructor.

~detect_features_GFTT()

Destructor.

vital::config_block_sptr get_configuration() const

Get this algorithm’s configuration block .

void set_configuration(vital::config_block_sptr config)

Set this algorithm’s properties via a config block.

bool check_configuration(vital::config_block_sptr config) const

Check that the algorithm’s configuration vital::config_block is valid.

class priv

Public Functions

priv()

Constructor.

cv::Ptr<cv::GFTTDetector> create() const

Create a new GFTT detector instance with the current parameter values.

void update_config(config_block_sptr config) const

Update given config block with currently set parameter values.

void set_config(config_block_sptr const &config)

Set parameter values based on given config block.

Public Members

int max_corners

Parameters.

Detect Features MSD Algorithm

Warning

doxygenclass: Cannot find class “kwiver::arrows::ocv::detect_features_MSD” in doxygen xml output for project “kwiver” from directory: ./_build/xml

Detect Features MSER Algorithm

class detect_features_MSER : public kwiver::vital::algorithm_impl<detect_features_MSER, detect_features, vital::algo::detect_features>

Public Functions

detect_features_MSER()

Constructor.

~detect_features_MSER()

Destructor.

vital::config_block_sptr get_configuration() const

Get this algorithm’s configuration block .

void set_configuration(vital::config_block_sptr config)

Set this algorithm’s properties via a config block.

bool check_configuration(vital::config_block_sptr config) const

Check that the algorithm’s configuration vital::config_block is valid.

class priv

Public Functions

priv()

Constructor.

void update_config(config_block_sptr config) const

Update given config block with currently set parameter values.

void set_config(config_block_sptr const &c)

Set parameter values based on given config block.

bool check_config(vital::config_block_sptr const &c, logger_handle_t const &logger) const

Check config parameter values.

Public Members

int delta

Parameters.

Detect Features Simple BLOB Algorithm

class detect_features_simple_blob : public kwiver::vital::algorithm_impl<detect_features_simple_blob, ocv::detect_features, vital::algo::detect_features>

Public Functions

detect_features_simple_blob()

Constructor.

~detect_features_simple_blob()

Destructor.

vital::config_block_sptr get_configuration() const

Get this algorithm’s configuration block .

void set_configuration(vital::config_block_sptr config)

Set this algorithm’s properties via a config block.

bool check_configuration(vital::config_block_sptr config) const

Check that the algorithm’s configuration vital::config_block is valid.

class priv

Public Functions

priv()

Constructor.

cv::Ptr<cv::SimpleBlobDetector> create() const

Create new algorithm based on current parameter values.

void update_config(config_block_sptr config) const

Update config block with current parameters and values.

void set_config(config_block_sptr config)

Set the current parameter values based on the given config block.

Detect Features STAR Algorithm

class detect_features_STAR : public kwiver::vital::algorithm_impl<detect_features_STAR, ocv::detect_features, vital::algo::detect_features>

Public Functions

detect_features_STAR()

Constructor.

~detect_features_STAR()

Destructor.

vital::config_block_sptr get_configuration() const

Get this algorithm’s configuration block .

void set_configuration(vital::config_block_sptr config)

Set this algorithm’s properties via a config block.

bool check_configuration(vital::config_block_sptr config) const

Check that the algorithm’s configuration config_block is valid.

Draw Detected Object Set Algorithm

class draw_detected_object_set : public kwiver::vital::algorithm_impl<draw_detected_object_set, vital::algo::draw_detected_object_set>

An abstract base class for algorithms which draw tracks on top of images in various ways, for analyzing results.

Public Functions

vital::config_block_sptr get_configuration() const

Get this algorithm’s configuration block .

Get this alg’s configuration block .

This method returns the required configuration for the algorithm. The implementation of this method should be light-weight and only create and fill in the config block.

This base virtual function implementation returns an empty configuration.

Return
config_block containing the configuration for this algorithm and any nested components.

void set_configuration(vital::config_block_sptr config)

Set this algorithm’s properties via a config block.

This method is called to pass a configuration to the algorithm. The implementation of this method should be light-weight and only save the necessary config values. Defer any substantial processing in another method.

Exceptions
  • no_such_configuration_value_exception: Thrown if an expected configuration value is not present.
  • algorithm_configuration_exception: Thrown when the algorithm is given an invalid config_block or is otherwise unable to configure itself.
Parameters
  • config: The config_block instance containing the configuration parameters for this algorithm

bool check_configuration(vital::config_block_sptr config) const

Check that the algorithm’s configuration config_block is valid.

This checks solely within the provided config_block and not against the current state of the instance. This isn’t static for inheritance reasons.

Return
true if the configuration check passed and false if it didn’t.
Parameters
  • config: The config block to check configuration of.

kwiver::vital::image_container_sptr draw(kwiver::vital::detected_object_set_sptr detected_set, kwiver::vital::image_container_sptr image)

Draw detected object boxes om image.

Return
Image with boxes and other annotations added.
Parameters
  • detected_set: Set of detected objects
  • image: Boxes are drawn in this image

class priv

Public Functions

void draw_box(cv::Mat &image, const vital::detected_object_sptr dos, std::string label, double prob, bool just_text = false, int offset_index = 0) const

Draw a box on an image.

This method draws a box on an image for the bounding box from a detected object.

When drawing a box with multiple class names, draw the first class_name with the just_text parameter false and all subsequent calls with it set to true. Also the offset parameter must be incremented so the labels do not overwrite.

Parameters
  • image: Input image updated with drawn box
  • dos: detected object with bounding box
  • label: Text label to use for box
  • prob: Probability value to add to label text
  • just_text: Set to true if only draw text, not the bounding box. This is used when there are multiple labels for the same detection.
  • offset: How much to offset text fill box from text baseline. This is used to offset labels when there are more than one label for a detection.

vital::image_container_sptr draw_detections(vital::image_container_sptr image_data, vital::detected_object_set_sptr in_set) const

Draw detected object on image.

This method draws the detections on a copy of the supplied image. The detections are drawn in confidence order up to the threshold. For each detection, the most likely class_name is optionally displayed below the box.

Return
New image with boxes drawn.
Parameters
  • image_data: The image to draw on.
  • input_set: List of detections to draw.

bool name_selected(std::string const &name) const

See if name has been selected for display.

Return
true if name should be rendered
Parameters
  • name: Name to check.

Draw Tracks Algorithm

class draw_tracks : public kwiver::vital::algorithm_impl<draw_tracks, vital::algo::draw_tracks>

A class for drawing various information about feature tracks.

Public Functions

draw_tracks()

Constructor.

~draw_tracks()

Destructor.

vital::config_block_sptr get_configuration() const

Get this algorithm’s configuration block .

Get this algorithm’s configuration block .

void set_configuration(vital::config_block_sptr config)

Set this algorithm’s properties via a config block.

bool check_configuration(vital::config_block_sptr config) const

Check that the algorithm’s currently configuration is valid.

image_container_sptr draw(vital::track_set_sptr display_set, vital::image_container_sptr_list image_data, vital::track_set_sptr comparison_set = vital::track_set_sptr())

Draw features tracks on top of the input images.

Output images with tracked features drawn on them.

This process can either be called in an offline fashion, where all tracks and images are provided to the function on the first call, or in an online fashion where only new images are provided on sequential calls. This function can additionally consumes a second track set for which can optionally be used to display additional information to provide a comparison between the two track sets.

Return
a pointer to the last image generated
Parameters
  • display_set: the main track set to draw
  • image_data: a list of images the tracks were computed over
  • comparison_set: optional comparison track set

class priv

Private implementation class.

Public Functions

priv()

Constructor.

~priv()

Destructor.

Public Members

bool draw_track_ids

Parameters.

std::deque<cv::Mat> buffer

Internal variables.

Estimate Fundamental Matrix Algorithm

class estimate_fundamental_matrix : public kwiver::vital::algorithm_impl<estimate_fundamental_matrix, vital::algo::estimate_fundamental_matrix>

A class that using OpenCV to estimate a fundamental matrix from matching 2D points.

Public Functions

estimate_fundamental_matrix()

Constructor.

~estimate_fundamental_matrix()

Destructor.

vital::config_block_sptr get_configuration() const

Get this algorithm’s configuration block .

void set_configuration(vital::config_block_sptr config)

Set this algorithm’s properties via a config block.

bool check_configuration(vital::config_block_sptr config) const

Check that the algorithm’s configuration config_block is valid.

vital::fundamental_matrix_sptr estimate(const std::vector<vital::vector_2d> &pts1, const std::vector<vital::vector_2d> &pts2, std::vector<bool> &inliers, double inlier_scale = 3.0) const

Estimate a fundamental matrix from corresponding points.

If estimation fails, a NULL-containing sptr is returned

Parameters
  • pts1: the vector or corresponding points from the source image
  • pts2: the vector of corresponding points from the destination image
  • inliers: for each point pair, the value is true if this pair is an inlier to the fundamental matrix estimate
  • inlier_scale: error distance tolerated for matches to be inliers

Estimate Homography Algorithm

class estimate_homography : public kwiver::vital::algorithm_impl<estimate_homography, vital::algo::estimate_homography>

A class that using OpenCV to estimate a homography from matching 2D points.

Public Functions

vital::homography_sptr estimate(const std::vector<vital::vector_2d> &pts1, const std::vector<vital::vector_2d> &pts2, std::vector<bool> &inliers, double inlier_scale = 1.0) const

Estimate a homography matrix from corresponding points.

If estimation fails, a NULL-containing sptr is returned

Parameters
  • pts1: the vector or corresponding points from the source image
  • pts2: the vector of corresponding points from the destination image
  • inliers: for each point pair, the value is true if this pair is an inlier to the homography estimate
  • inlier_scale: error distance tolerated for matches to be inliers

Extract Descriptors Algorithm

class extract_descriptors : public kwiver::vital::algo::extract_descriptors

OCV specific definition for algorithms that describe feature points.

This extended algorithm_def provides a common implementation for the extract method.

Public Functions

descriptor_set_sptr extract(vital::image_container_sptr image_data, vital::feature_set_sptr &features, vital::image_container_sptr image_mask = vital::image_container_sptr()) const

Extract from the image a descriptor corresponding to each feature.

Return
a set of feature descriptors
Parameters
  • image_data: contains the image data to process
  • features: the feature locations at which descriptors are extracted

Extract Descriptors BRIEF Algorithm

class extract_descriptors_BRIEF : public kwiver::vital::algorithm_impl<extract_descriptors_BRIEF, extract_descriptors, vital::algo::extract_descriptors>

Public Functions

extract_descriptors_BRIEF()

Constructor.

~extract_descriptors_BRIEF()

Destructor.

vital::config_block_sptr get_configuration() const

Get this algorithm’s configuration block .

void set_configuration(vital::config_block_sptr config)

Set this algorithm’s properties via a config block.

bool check_configuration(vital::config_block_sptr config) const

Check that the algorithm’s configuration config_block is valid.

class priv

Public Functions

priv()

Constructor.

cv::Ptr<cv_BRIEF_t> create() const

Create new algorithm instance using current parameter values.

void update(cv::Ptr<cv_BRIEF_t> descriptor) const

Update given algorithm using current parameter values.

Extract Descriptors DAISY Algorithm

Warning

doxygenclass: Cannot find class “kwiver::arrows::ocv::extract_descriptors_DAISY” in doxygen xml output for project “kwiver” from directory: ./_build/xml

Extract Descriptors FREAK Algorithm

class extract_descriptors_FREAK : public kwiver::vital::algorithm_impl<extract_descriptors_FREAK, extract_descriptors, vital::algo::extract_descriptors>

Public Functions

extract_descriptors_FREAK()

Constructor.

extract_descriptors_FREAK(extract_descriptors_FREAK const &other)

Copy Constructor.

Parameters
  • other: The other FREAK descriptor extractor to copy

~extract_descriptors_FREAK()

Destructor.

vital::config_block_sptr get_configuration() const

Get this algorithm’s configuration block .

void set_configuration(vital::config_block_sptr config)

Set this algorithm’s properties via a config block.

bool check_configuration(vital::config_block_sptr config) const

Check that the algorithm’s configuration config_block is valid.

class priv

Public Functions

priv()

Constructor.

cv::Ptr<cv_FREAK_t> create() const

Create new cv::Ptr algo instance.

void update(cv::Ptr<cv_FREAK_t> freak) const

Update algorithm instance with current parameter values.

void update_config(vital::config_block_sptr &config) const

Set current parameter values to the given config block.

void set_config(vital::config_block_sptr const &config)

Set our parameters based on the given config block.

Public Members

bool orientation_normalized

Params.

Extract Descriptors LATCH Algorithm

Warning

doxygenclass: Cannot find class “kwiver::arrows::ocv::extract_descriptors_LATCH” in doxygen xml output for project “kwiver” from directory: ./_build/xml

Extract Descriptors LUCID Algorithm

Warning

doxygenclass: Cannot find class “kwiver::arrows::ocv::extract_descriptors_LUCID” in doxygen xml output for project “kwiver” from directory: ./_build/xml

Extrack Descriptors BRISK Algorithm

class extract_descriptors_BRISK : public kwiver::vital::algorithm_impl<extract_descriptors_BRISK, ocv::extract_descriptors, vital::algo::extract_descriptors>

Detect Features BRISK Algorithm

class detect_features_BRISK : public kwiver::vital::algorithm_impl<detect_features_BRISK, ocv::detect_features, vital::algo::detect_features>

Extrack Descriptors ORB Algorithm

class extract_descriptors_ORB : public kwiver::vital::algorithm_impl<extract_descriptors_ORB, ocv::extract_descriptors, vital::algo::extract_descriptors>

Detect Features ORB Algorithm

class detect_features_ORB : public kwiver::vital::algorithm_impl<detect_features_ORB, ocv::detect_features, vital::algo::detect_features>

Extrack Descriptors SIFT Algorithm

Warning

doxygenclass: Cannot find class “kwiver::arrows::ocv::extract_descriptors_SIFT” in doxygen xml output for project “kwiver” from directory: ./_build/xml

Detect Features SIFT Algorithm

Warning

doxygenclass: Cannot find class “kwiver::arrows::ocv::detect_features_SIFT” in doxygen xml output for project “kwiver” from directory: ./_build/xml

Extrack Descriptors SURF Algorithm

Warning

doxygenclass: Cannot find class “kwiver::arrows::ocv::extract_descriptors_SURF” in doxygen xml output for project “kwiver” from directory: ./_build/xml

Detect Features SURF Algorithm

Warning

doxygenclass: Cannot find class “kwiver::arrows::ocv::detect_features_SURF” in doxygen xml output for project “kwiver” from directory: ./_build/xml

Hough Circle Detector Algorithm

class hough_circle_detector : public kwiver::vital::algorithm_impl<hough_circle_detector, vital::algo::image_object_detector>

Public Functions

vital::config_block_sptr get_configuration() const

Get this algorithm’s configuration block .

Get this alg’s configuration block .

This method returns the required configuration for the algorithm. The implementation of this method should be light-weight and only create and fill in the config block.

This base virtual function implementation returns an empty configuration.

Return
config_block containing the configuration for this algorithm and any nested components.

void set_configuration(vital::config_block_sptr config)

Set this algorithm’s properties via a config block.

This method is called to pass a configuration to the algorithm. The implementation of this method should be light-weight and only save the necessary config values. Defer any substantial processing in another method.

Exceptions
  • no_such_configuration_value_exception: Thrown if an expected configuration value is not present.
  • algorithm_configuration_exception: Thrown when the algorithm is given an invalid config_block or is otherwise unable to configure itself.
Parameters
  • config: The config_block instance containing the configuration parameters for this algorithm

bool check_configuration(vital::config_block_sptr config) const

Check that the algorithm’s configuration config_block is valid.

This checks solely within the provided config_block and not against the current state of the instance. This isn’t static for inheritance reasons.

Return
true if the configuration check passed and false if it didn’t.
Parameters
  • config: The config block to check configuration of.

kwiver::vital::detected_object_set_sptr detect(vital::image_container_sptr image_data) const

Find all objects on the provided image.

This method analyzes the supplied image and along with any saved context, returns a vector of detected image objects.

Return
vector of image objects found
Parameters
  • image_data: the image pixels

Image Container Algorithm

class image_container : public kwiver::vital::image_container

This image container wraps a cv::Mat.

Public Functions

image_container(const cv::Mat &d, ColorMode cm)

Constructor - from a cv::Mat.

image_container(const vital::image &vital_image)

Constructor - convert kwiver image to cv::Mat.

image_container(const vital::image_container &image_cont)

Constructor - convert base image container to cv::Mat.

image_container(const arrows::ocv::image_container &other)

Copy Constructor.

size_t size() const

The size of the image data in bytes.

This size includes all allocated image memory, which could be larger than width*height*depth.

virtual size_t width() const

The width of the image in pixels.

virtual size_t height() const

The height of the image in pixels.

virtual size_t depth() const

The depth (or number of channels) of the image.

virtual vital::image get_image() const

Get and in-memory image class to access the data.

cv::Mat get_Mat() const

Access the underlying cv::Mat data structure.

Public Static Functions

image ocv_to_vital(const cv::Mat &img, ColorMode cm)

Convert an OpenCV cv::Mat to a VITAL image.

This function constructs a vital::image from a cv::Mat and wraps the same memory. If the memory is owned by the cv::Mat this function will use a mat_image_memory class to retain the original memory and reference counting. If the cv::Mat does not own the memory, the vital::image will point to the same memory but also not take ownership. That is vital::image::memory() will return nullptr.

vital::image_pixel_traits ocv_to_vital(int type)

Convert an OpenCV cv::Mat type value to a vital::image_pixel_traits.

cv::Mat vital_to_ocv(const vital::image &img, ColorMode cm)

Convert a VITAL image to an OpenCV cv::Mat.

This function constructs a cv::Mat from a vital::image and wraps the same memory whenever possible. If the vital::image contains a mat_image_memory then the image data was originally created as a cv::Mat and this function will reconstruct the cv::Mat using the original memory and reference counting, if possible. If the vital::image does not own its memory, then the wrapped cv::Mat will also not own the memory.

The supported memory layouts are far more restricted in cv::Mat than in vital::image. If the image is not of a compatible type and cannot be directly wrapped then the a new cv::Mat is allocated and the image is deep copied. The same is true if the user requests a color mode other than the default BGR used by OpenCV. The data will be copied into new memory and the color is converted.

int vital_to_ocv(const vital::image_pixel_traits &pt)

Convert a vital::image_pixel_traits to an OpenCV cv::Mat type integer.

Image I/O Algorithm

class image_io : public kwiver::vital::algorithm_impl<image_io, vital::algo::image_io>

A class for using OpenCV to read and write images.

Match Features Algorithm

class match_features : public kwiver::vital::algo::match_features

OCV specific definition for algorithms that match feature point descriptors.

This extended algorithm_def provides a common implementation for the match method.

Public Functions

vital::match_set_sptr match(vital::feature_set_sptr feat1, vital::descriptor_set_sptr desc1, vital::feature_set_sptr feat2, vital::descriptor_set_sptr desc2) const

Match one set of features and corresponding descriptors to another.

Return
a set of matching indices from feat1 to feat2
Parameters
  • feat1: the first set of features to match
  • desc1: the descriptors corresponding to feat1
  • feat2: the second set fof features to match
  • desc2: the descriptors corresponding to feat2

Match Features Bruteforce Algorithm

class match_features_bruteforce : public kwiver::vital::algorithm_impl<match_features_bruteforce, match_features, vital::algo::match_features>

Feature matcher implementation using OpenCV’s brute-force feature matcher.

Public Functions

match_features_bruteforce()

Constructor.

~match_features_bruteforce()

Destructor.

vital::config_block_sptr get_configuration() const

Get this algorithm’s configuration block .

void set_configuration(vital::config_block_sptr config)

Set this algorithm’s properties via a config block.

bool check_configuration(vital::config_block_sptr config) const

Check that the algorithm’s configuration vital::config_block is valid.

class priv

Public Functions

void create()

Create a new brute-force matcher instance and set our matcher param to it.

Public Members

int norm_type

Parameters.

Match Features Flannbased Algorithm

class match_features_flannbased : public kwiver::vital::algorithm_impl<ocv::match_features_flannbased, ocv::match_features, vital::algo::match_features>

Feature matcher implementation using OpenCV’s FLANN-based feature matcher.

Public Functions

match_features_flannbased()

Constructor.

~match_features_flannbased()

Destructor.

vital::config_block_sptr get_configuration() const

Get this algorithm’s configuration block .

void set_configuration(vital::config_block_sptr config)

Set this algorithm’s properties via a config block.

bool check_configuration(vital::config_block_sptr config) const

Check that the algorithm’s configuration vital::config_block is valid.

class priv

Public Functions

priv()

Constructor.

void create()

Create a new flann-based matcher instance and set our matcher param to it.

void cross_check_match(const cv::Mat &descriptors1, const cv::Mat &descriptors2, std::vector<cv::DMatch> &filtered_matches12) const

Compute descriptor matching from 1 to 2 and from 2 to 1.

Only return descriptor matches if the one of the top N matches from 1 to 2 is also a top N match from 2 to 1. Here N is defined by parameter cross_check_knn

Public Members

bool cross_check

Parameters.

Refine Detections Write To Disk Algorithm

class refine_detections_write_to_disk : public kwiver::vital::algorithm_impl<refine_detections_write_to_disk, vital::algo::refine_detections>

A class for drawing various information about feature tracks.

Public Functions

refine_detections_write_to_disk()

Constructor.

~refine_detections_write_to_disk()

Destructor.

vital::config_block_sptr get_configuration() const

Get this algorithm’s configuration block .

void set_configuration(vital::config_block_sptr config)

Set this algorithm’s properties via a config block.

bool check_configuration(vital::config_block_sptr config) const

Check that the algorithm’s currently configuration is valid.

vital::detected_object_set_sptr refine(vital::image_container_sptr image_data, vital::detected_object_set_sptr detections) const

Refine all object detections on the provided image.

This method analyzes the supplied image and and detections on it, returning a refined set of detections.

Return
vector of image objects refined
Parameters
  • image_data: the image pixels
  • detections: detected objects

Split Image Algorithm

class split_image : public kwiver::vital::algorithm_impl<split_image, vital::algo::split_image>

A class for writing out image chips around detections, useful as a debugging process for ensuring that the refine detections process is running on desired ROIs.

Public Functions

split_image()

Constructor.

~split_image()

Destructor.

virtual void set_configuration(kwiver::vital::config_block_sptr config)

Set this algorithm’s properties via a config block.

This method is called to pass a configuration to the algorithm. The implementation of this method should be light-weight and only save the necessary config values. Defer any substantial processing in another method.

Exceptions
  • no_such_configuration_value_exception: Thrown if an expected configuration value is not present.
  • algorithm_configuration_exception: Thrown when the algorithm is given an invalid config_block or is otherwise unable to configure itself.
Parameters
  • config: The config_block instance containing the configuration parameters for this algorithm

virtual bool check_configuration(kwiver::vital::config_block_sptr config) const

Check that the algorithm’s configuration config_block is valid.

This checks solely within the provided config_block and not against the current state of the instance. This isn’t static for inheritance reasons.

Return
true if the configuration check passed and false if it didn’t.
Parameters
  • config: The config block to check configuration of.

std::vector<kwiver::vital::image_container_sptr> split(kwiver::vital::image_container_sptr img) const

Split image.