![]() |
Zivid C++ API 2.17.1+7516d437-1
|
Classes | |
| class | BarcodeDetector |
| Class for enabling the detection of barcodes. More... | |
| class | BarcodeFormatFilter |
| Filter type for defining which barcode formats to look for when reading barcodes. More... | |
| class | LinearBarcodeDetectionResult |
| Information about a detected linear (1D) barcode. More... | |
| class | LocalPointCloudRegistrationResult |
| The result of a call to localPointCloudRegistration() More... | |
| class | MatrixBarcodeDetectionResult |
| Information about a detected matrix (2D) barcode. More... | |
Typedefs | |
| using | LinearBarcodeFormatFilter = BarcodeFormatFilter<LinearBarcodeFormat> |
| Filter type for defining which linear (1D) barcode formats to look for when reading barcodes. | |
| using | MatrixBarcodeFormatFilter = BarcodeFormatFilter<MatrixBarcodeFormat> |
| Filter type for defining which matrix (2D) barcode formats to look for when reading barcodes. | |
| using | Pose = Zivid::Calibration::Pose |
Enumerations | |
| enum class | LinearBarcodeFormat : uint32_t { code128 = (1 << 0) , code93 = (1 << 1) , code39 = (1 << 2) , ean13 = (1 << 3) , ean8 = (1 << 4) , upcA = (1 << 5) , upcE = (1 << 6) } |
| Enum describing the supported linear (1D) barcode formats. More... | |
| enum class | MatrixBarcodeFormat : uint32_t { qrcode = (1 << 0) , dataMatrix = (1 << 1) } |
| Enum describing the supported matrix (2D) barcode formats. More... | |
Functions | |
| ZIVID_CORE_EXPORT std::ostream & | operator<< (std::ostream &stream, const LinearBarcodeDetectionResult &result) |
| Serialize the value to a stream. | |
| ZIVID_CORE_EXPORT std::ostream & | operator<< (std::ostream &stream, const MatrixBarcodeDetectionResult &result) |
| Serialize the value to a stream. | |
| ZIVID_CORE_EXPORT std::ostream & | operator<< (std::ostream &stream, const BarcodeDetector &barcodeDetector) |
| Serialize the value to a stream. | |
| ZIVID_CORE_EXPORT std::string | toString (LinearBarcodeFormat format) |
| Get string representation of a barcode format. | |
| ZIVID_CORE_EXPORT std::string | toString (MatrixBarcodeFormat format) |
| Get string representation of a barcode format. | |
| template<typename FormatEnum> | |
| constexpr BarcodeFormatFilter< FormatEnum > | operator| (FormatEnum lhs, FormatEnum rhs) |
| template<typename FormatEnum> | |
| constexpr BarcodeFormatFilter< FormatEnum > | operator| (FormatEnum lhs, BarcodeFormatFilter< FormatEnum > rhs) |
| ZIVID_CORE_EXPORT std::ostream & | operator<< (std::ostream &stream, const LocalPointCloudRegistrationResult &result) |
| Serialize the value to a stream. | |
| ZIVID_CORE_EXPORT LocalPointCloudRegistrationResult | localPointCloudRegistration (const UnorganizedPointCloud &target, const UnorganizedPointCloud &source, const LocalPointCloudRegistrationParameters ¶ms, const Pose &initialTransform=Pose{ Matrix4x4::identity() }) |
| Compute alignment transform between two point clouds. | |
| using Zivid::Experimental::Toolbox::LinearBarcodeFormatFilter = BarcodeFormatFilter<LinearBarcodeFormat> |
Filter type for defining which linear (1D) barcode formats to look for when reading barcodes.
When calling functions that has an argument of this type, one can specify the filter with single or multiple values of LinearBarcodeFormat. Examples:
| using Zivid::Experimental::Toolbox::MatrixBarcodeFormatFilter = BarcodeFormatFilter<MatrixBarcodeFormat> |
Filter type for defining which matrix (2D) barcode formats to look for when reading barcodes.
When calling functions that has an argument of this type, one can specify the filter with single or multiple values of MatrixBarcodeFormat. Examples:
|
strong |
Enum describing the supported linear (1D) barcode formats.
This enum is used for two things:
| Enumerator | |
|---|---|
| code128 | |
| code93 | |
| code39 | |
| ean13 | |
| ean8 | |
| upcA | |
| upcE | |
|
strong |
Enum describing the supported matrix (2D) barcode formats.
This enum is used for two things:
| Enumerator | |
|---|---|
| qrcode | |
| dataMatrix | |
| ZIVID_CORE_EXPORT LocalPointCloudRegistrationResult Zivid::Experimental::Toolbox::localPointCloudRegistration | ( | const UnorganizedPointCloud & | target, |
| const UnorganizedPointCloud & | source, | ||
| const LocalPointCloudRegistrationParameters & | params, | ||
| const Pose & | initialTransform = Pose{ Matrix4x4::identity() } ) |
Compute alignment transform between two point clouds.
Given a source point cloud and a target point cloud, this function attempts to compute the transform that must be applied to the source in order to align it with the target. This can be used to create a "stitched" unorganized point cloud of an object by combining data collected from different camera angles.
This function takes an argument initialTransform which is used as a starting-point for the computation of the transform that best aligns source with target. This initial guess is usually found from e.g. reference markers or robot capture pose, and this function is then used to refine the alignment. If the overlap of source and target is already quite good, one can pass the identity matrix as initialTransform.
The returned transform represents the total transform needed to align source with target, i.e. it includes both initialTransform and the refinement found by the algorithm.
Performance is very dependent on the number of points in either point cloud. To improve performance, voxel downsample one or both point clouds before passing them into this function. The resulting alignment transform can then be applied to the non-downsampled point clouds to still obtain a dense result.
Performance is also very dependent on MaxCorrespondenceDistance. To improve performance, try reducing this value. However, keep the value larger than the typical point-to-point distance in the point clouds, and larger than the expected translation error in the initial guess.
| target | The point cloud to align with |
| source | The point cloud to be aligned with target |
| params | Parameters for the registration process and its convergence criteria |
| initialTransform | Initial guess applied to source point cloud before refinement |
| ZIVID_CORE_EXPORT std::ostream & Zivid::Experimental::Toolbox::operator<< | ( | std::ostream & | stream, |
| const BarcodeDetector & | barcodeDetector ) |
Serialize the value to a stream.
| ZIVID_CORE_EXPORT std::ostream & Zivid::Experimental::Toolbox::operator<< | ( | std::ostream & | stream, |
| const LinearBarcodeDetectionResult & | result ) |
Serialize the value to a stream.
| ZIVID_CORE_EXPORT std::ostream & Zivid::Experimental::Toolbox::operator<< | ( | std::ostream & | stream, |
| const LocalPointCloudRegistrationResult & | result ) |
Serialize the value to a stream.
| ZIVID_CORE_EXPORT std::ostream & Zivid::Experimental::Toolbox::operator<< | ( | std::ostream & | stream, |
| const MatrixBarcodeDetectionResult & | result ) |
Serialize the value to a stream.
|
constexpr |
|
constexpr |
| ZIVID_CORE_EXPORT std::string Zivid::Experimental::Toolbox::toString | ( | LinearBarcodeFormat | format | ) |
Get string representation of a barcode format.
| ZIVID_CORE_EXPORT std::string Zivid::Experimental::Toolbox::toString | ( | MatrixBarcodeFormat | format | ) |
Get string representation of a barcode format.