HoughSpace3D is a 3D voting space. More...
#include <pcl/recognition/cg/hough_3d.h>
Public Types | |
using | Ptr = shared_ptr< HoughSpace3D > |
using | ConstPtr = shared_ptr< const HoughSpace3D > |
Public Member Functions | |
HoughSpace3D (const Eigen::Vector3d &min_coord, const Eigen::Vector3d &bin_size, const Eigen::Vector3d &max_coord) | |
Constructor. More... |
|
void | reset () |
Reset all cast votes. More... |
|
int | vote (const Eigen::Vector3d &single_vote_coord, double weight, int voter_id) |
Casting a vote for a given position in the Hough space. More... |
|
int | voteInt (const Eigen::Vector3d &single_vote_coord, double weight, int voter_id) |
Vote for a given position in the 3D space. More... |
|
double | findMaxima (double min_threshold, std::vector< double > &maxima_values, std::vector< std::vector< int > > &maxima_voter_ids) |
Find the bins with most votes. More... |
|
Protected Attributes | |
Eigen::Vector3d | min_coord_ |
Minimum coordinate in the Hough Space. More... |
|
Eigen::Vector3d | bin_size_ |
Size of each bin in the Hough Space. More... |
|
Eigen::Vector3i | bin_count_ |
Number of bins for each dimension. More... |
|
int | partial_bin_products_ [4] |
Used to access hough_space_ as if it was a matrix. More... |
|
int | total_bins_count_ |
Total number of bins in the Hough Space. More... |
|
std::vector< double > | hough_space_ |
The Hough Space. More... |
|
std::unordered_map< int, std::vector< int > > | voter_ids_ |
List of voters for each bin. More... |
|
HoughSpace3D is a 3D voting space.
Cast votes can be interpolated in order to better deal with approximations introduced by bin quantization. A weight can also be associated with each vote.
Definition at line 57 of file hough_3d.h.
using pcl::recognition::HoughSpace3D::ConstPtr = shared_ptr<const HoughSpace3D> |
Definition at line 64 of file hough_3d.h.
using pcl::recognition::HoughSpace3D::Ptr = shared_ptr<HoughSpace3D> |
Definition at line 63 of file hough_3d.h.
pcl::recognition::HoughSpace3D::HoughSpace3D | ( | const Eigen::Vector3d & | min_coord, |
const Eigen::Vector3d & | bin_size, | ||
const Eigen::Vector3d & | max_coord | ||
) |
Constructor.
[in] | min_coord | minimum (x,y,z) coordinates of the Hough space |
[in] | bin_size | size of each bing of the Hough space. |
[in] | max_coord | maximum (x,y,z) coordinates of the Hough space. |
double pcl::recognition::HoughSpace3D::findMaxima | ( | double | min_threshold, |
std::vector< double > & | maxima_values, | ||
std::vector< std::vector< int > > & | maxima_voter_ids | ||
) |
Find the bins with most votes.
[in] | min_threshold | the minimum number of votes to be included in a bin in order to have its value returned. If set to a value between -1 and 0 the Hough space maximum_vote is found and the returned values are all the votes greater than -min_threshold * maximum_vote. |
[out] | maxima_values | the list of Hough Space bin values greater than min_threshold. |
[out] | maxima_voter_ids | for each value returned, a list of the voter ids who cast a vote in that position. |
void pcl::recognition::HoughSpace3D::reset | ( | ) |
Reset all cast votes.
int pcl::recognition::HoughSpace3D::vote | ( | const Eigen::Vector3d & | single_vote_coord, |
double | weight, | ||
int | voter_id | ||
) |
Casting a vote for a given position in the Hough space.
[in] | single_vote_coord | coordinates of the vote being cast (in absolute coordinates) |
[in] | weight | weight associated with the vote. |
[in] | voter_id | the numeric id of the voter. Useful to trace back the voting correspondence, if the vote is returned by findMaxima as part of a maximum of the Hough Space. |
int pcl::recognition::HoughSpace3D::voteInt | ( | const Eigen::Vector3d & | single_vote_coord, |
double | weight, | ||
int | voter_id | ||
) |
Vote for a given position in the 3D space.
The weight is interpolated between the bin pointed by single_vote_coord and its neighbors.
[in] | single_vote_coord | coordinates of the vote being cast. |
[in] | weight | weight associated with the vote. |
[in] | voter_id | the numeric id of the voter. Useful to trace back the voting correspondence, if the vote is returned by findMaxima as a part of a maximum of the Hough Space. |
| protected |
Number of bins for each dimension.
Definition at line 118 of file hough_3d.h.
| protected |
Size of each bin in the Hough Space.
Definition at line 115 of file hough_3d.h.
| protected |
The Hough Space.
Definition at line 127 of file hough_3d.h.
| protected |
Minimum coordinate in the Hough Space.
Definition at line 112 of file hough_3d.h.
| protected |
Used to access hough_space_ as if it was a matrix.
Definition at line 121 of file hough_3d.h.
| protected |
Total number of bins in the Hough Space.
Definition at line 124 of file hough_3d.h.
| protected |
List of voters for each bin.
Definition at line 130 of file hough_3d.h.
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1recognition_1_1_hough_space3_d.html