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 analyzestream
: an output stream to write data onto
-
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 processmask
: Mask image where regions of positive values (boolean true) indicate regions to consider. Only the first channel will be considered.
-
vital::feature_set_sptr
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 invalidconfig_block
or is otherwise unable to configure itself.
- Parameters
config
: Theconfig_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 objectsimage
: 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 theoffset
parameter must be incremented so the labels do not overwrite.- Parameters
image
: Input image updated with drawn boxdos
: detected object with bounding boxlabel
: Text label to use for boxprob
: Probability value to add to label textjust_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.
-
void
-
vital::config_block_sptr
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 drawimage_data
: a list of images the tracks were computed overcomparison_set
: optional comparison track set
-
class
priv
¶ Private implementation class.
-
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 imagepts2
: the vector of corresponding points from the destination imageinliers
: for each point pair, the value is true if this pair is an inlier to the fundamental matrix estimateinlier_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 imagepts2
: the vector of corresponding points from the destination imageinliers
: for each point pair, the value is true if this pair is an inlier to the homography estimateinlier_scale
: error distance tolerated for matches to be inliers
-
vital::homography_sptr
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 processfeatures
: the feature locations at which descriptors are extracted
-
descriptor_set_sptr
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
¶
-
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 invalidconfig_block
or is otherwise unable to configure itself.
- Parameters
config
: Theconfig_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
-
vital::config_block_sptr
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_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.
-
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.
-
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.
-
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¶
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 matchdesc1
: the descriptors corresponding to feat1feat2
: the second set fof features to matchdesc2
: the descriptors corresponding to feat2
-
vital::match_set_sptr
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.
-
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 pixelsdetections
: 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 invalidconfig_block
or is otherwise unable to configure itself.
- Parameters
config
: Theconfig_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.
-