Struct opencv::xfeatures2d::PCTSignatures
source · pub struct PCTSignatures { /* private fields */ }
Expand description
Class implementing PCT (position-color-texture) signature extraction as described in KrulisLS16. The algorithm is divided to a feature sampler and a clusterizer. Feature sampler produces samples at given set of coordinates. Clusterizer then produces clusters of these samples using k-means algorithm. Resulting set of clusters is the signature of the input image.
A signature is an array of SIGNATURE_DIMENSION-dimensional points.
Used dimensions are:
weight, x, y position; lab color, contrast, entropy.
Implementations§
source§impl PCTSignatures
impl PCTSignatures
sourcepub fn create(
init_sample_count: i32,
init_seed_count: i32,
point_distribution: i32
) -> Result<Ptr<PCTSignatures>>
pub fn create( init_sample_count: i32, init_seed_count: i32, point_distribution: i32 ) -> Result<Ptr<PCTSignatures>>
Creates PCTSignatures algorithm using sample and seed count. It generates its own sets of sampling points and clusterization seed indexes.
§Parameters
- initSampleCount: Number of points used for image sampling.
- initSeedCount: Number of initial clusterization seeds. Must be lower or equal to initSampleCount
- pointDistribution: Distribution of generated points. Default: UNIFORM. Available: UNIFORM, REGULAR, NORMAL.
§Returns
Created algorithm.
§C++ default parameters
- init_sample_count: 2000
- init_seed_count: 400
- point_distribution: 0
sourcepub fn create_def() -> Result<Ptr<PCTSignatures>>
pub fn create_def() -> Result<Ptr<PCTSignatures>>
Creates PCTSignatures algorithm using sample and seed count. It generates its own sets of sampling points and clusterization seed indexes.
§Parameters
- initSampleCount: Number of points used for image sampling.
- initSeedCount: Number of initial clusterization seeds. Must be lower or equal to initSampleCount
- pointDistribution: Distribution of generated points. Default: UNIFORM. Available: UNIFORM, REGULAR, NORMAL.
§Returns
Created algorithm.
§Note
This alternative version of PCTSignatures::create function uses the following default values for its arguments:
- init_sample_count: 2000
- init_seed_count: 400
- point_distribution: 0
sourcepub fn create_1(
init_sampling_points: &Vector<Point2f>,
init_seed_count: i32
) -> Result<Ptr<PCTSignatures>>
pub fn create_1( init_sampling_points: &Vector<Point2f>, init_seed_count: i32 ) -> Result<Ptr<PCTSignatures>>
Creates PCTSignatures algorithm using pre-generated sampling points and number of clusterization seeds. It uses the provided sampling points and generates its own clusterization seed indexes.
§Parameters
- initSamplingPoints: Sampling points used in image sampling.
- initSeedCount: Number of initial clusterization seeds. Must be lower or equal to initSamplingPoints.size().
§Returns
Created algorithm.
sourcepub fn create_2(
init_sampling_points: &Vector<Point2f>,
init_cluster_seed_indexes: &Vector<i32>
) -> Result<Ptr<PCTSignatures>>
pub fn create_2( init_sampling_points: &Vector<Point2f>, init_cluster_seed_indexes: &Vector<i32> ) -> Result<Ptr<PCTSignatures>>
Creates PCTSignatures algorithm using pre-generated sampling points and clusterization seeds indexes.
§Parameters
- initSamplingPoints: Sampling points used in image sampling.
- initClusterSeedIndexes: Indexes of initial clusterization seeds. Its size must be lower or equal to initSamplingPoints.size().
§Returns
Created algorithm.
sourcepub fn draw_signature(
source: &impl ToInputArray,
signature: &impl ToInputArray,
result: &mut impl ToOutputArray,
radius_to_shorter_side_ratio: f32,
border_thickness: i32
) -> Result<()>
pub fn draw_signature( source: &impl ToInputArray, signature: &impl ToInputArray, result: &mut impl ToOutputArray, radius_to_shorter_side_ratio: f32, border_thickness: i32 ) -> Result<()>
Draws signature in the source image and outputs the result. Signatures are visualized as a circle with radius based on signature weight and color based on signature color. Contrast and entropy are not visualized.
§Parameters
- source: Source image.
- signature: Image signature.
- result: Output result.
- radiusToShorterSideRatio: Determines maximal radius of signature in the output image.
- borderThickness: Border thickness of the visualized signature.
§C++ default parameters
- radius_to_shorter_side_ratio: 1.0/8
- border_thickness: 1
sourcepub fn draw_signature_def(
source: &impl ToInputArray,
signature: &impl ToInputArray,
result: &mut impl ToOutputArray
) -> Result<()>
pub fn draw_signature_def( source: &impl ToInputArray, signature: &impl ToInputArray, result: &mut impl ToOutputArray ) -> Result<()>
Draws signature in the source image and outputs the result. Signatures are visualized as a circle with radius based on signature weight and color based on signature color. Contrast and entropy are not visualized.
§Parameters
- source: Source image.
- signature: Image signature.
- result: Output result.
- radiusToShorterSideRatio: Determines maximal radius of signature in the output image.
- borderThickness: Border thickness of the visualized signature.
§Note
This alternative version of PCTSignatures::draw_signature function uses the following default values for its arguments:
- radius_to_shorter_side_ratio: 1.0/8
- border_thickness: 1
sourcepub fn generate_init_points(
init_points: &mut Vector<Point2f>,
count: i32,
point_distribution: i32
) -> Result<()>
pub fn generate_init_points( init_points: &mut Vector<Point2f>, count: i32, point_distribution: i32 ) -> Result<()>
Generates initial sampling points according to selected point distribution.
§Parameters
- initPoints: Output vector where the generated points will be saved.
- count: Number of points to generate.
- pointDistribution: Point distribution selector. Available: UNIFORM, REGULAR, NORMAL.
Note: Generated coordinates are in range [0..1)