IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
HoughCircles2d.h
Go to the documentation of this file.
1 // HoughCircles2d.h:
3 // -----------------
4 //
14 
15 #ifndef __IPSDKIPLFEATUREDETECTION_HOUGHCIRCLES2D_H__
16 #define __IPSDKIPLFEATUREDETECTION_HOUGHCIRCLES2D_H__
17 
21 #include <IPSDKIPL/IPSDKIPLAttributes/DataItem/HoughCircles2dPpties.h>
22 #include <IPSDKIPL/IPSDKIPLAttributes/DataItem/HoughCirclesRadiusRange.h>
23 #include <IPSDKIPL/IPSDKIPLAttributes/DataItem/AccumIntensityThreshold.h>
24 #include <IPSDKIPL/IPSDKIPLAttributes/DataItem/PlanIndexedHoughCircles2dPpties.h>
25 #include <IPSDKIPL/IPSDKIPLAttributes/DataItem/RemoveTooCloseCirclesParams.h>
27 
28 namespace ipsdk {
29 namespace imaproc {
30 namespace fd {
31 
32 class HoughCircles2dLvl1;
33 
36 
49  const ipUInt32 nbMaxPtsPerCircle,
50  const ipsdk::imaproc::attr::AccumIntensityThresholdConstPtr& pAccumIntensityThreshold,
51  const ipsdk::imaproc::attr::RemoveTooCloseCirclesParamsConstPtr& pRemoveTooCloseCirclesParams);
53 houghCircles2d(const image::ImageConstPtr& pInGxImg,
54  const image::ImageConstPtr& pInGyImg,
57 houghCircles2d(const image::ImageConstPtr& pInGxImg,
58  const image::ImageConstPtr& pInGyImg,
62  const ipReal64 maxAngleWithGradDir,
63  const ipUInt32 nbMaxPtsPerCircle,
64  const ipsdk::imaproc::attr::AccumIntensityThresholdConstPtr& pAccumIntensityThreshold,
65  const ipsdk::imaproc::attr::RemoveTooCloseCirclesParamsConstPtr& pRemoveTooCloseCirclesParams,
66  const image::ImagePtr& pOutImg1,
67  const image::ImagePtr& pOutImg2);
69 
78  const attr::HoughCirclesRadiusRangeConstPtr& pRadiusRange);
81  const attr::HoughCirclesRadiusRangeConstPtr& pRadiusRange,
83  const ipUInt32 nbMaxPtsPerCircle,
84  const attr::AccumIntensityThresholdConstPtr& pAccumIntensityThreshold,
85  const attr::RemoveTooCloseCirclesParamsConstPtr& pRemoveTooCloseCirclesParams);
88  const image::ImageConstPtr& pInGyImg,
89  const attr::HoughCirclesRadiusRangeConstPtr& pRadiusRange);
92  const image::ImageConstPtr& pInGyImg,
93  const attr::HoughCirclesRadiusRangeConstPtr& pRadiusRange,
94  const attr::eHoughCircles2dAlgoMethod& method,
96  const ipReal64 maxAngleWithGradDir,
97  const ipUInt32 nbMaxPtsPerCircle,
98  const attr::AccumIntensityThresholdConstPtr& pAccumIntensityThreshold,
99  const attr::RemoveTooCloseCirclesParamsConstPtr& pRemoveTooCloseCirclesParams,
100  const image::ImagePtr& pOutImg1,
101  const image::ImagePtr& pOutImg2);
103 
106 IPSDKIPLFEATUREDETECTION_API boost::shared_ptr<HoughCircles2dLvl1>
109 IPSDKIPLFEATUREDETECTION_API boost::shared_ptr<HoughCircles2dLvl1>
113  const ipUInt32 nbMaxPtsPerCircle,
114  const ipsdk::imaproc::attr::AccumIntensityThresholdConstPtr& pAccumIntensityThreshold,
115  const ipsdk::imaproc::attr::RemoveTooCloseCirclesParamsConstPtr& pRemoveTooCloseCirclesParams);
116 IPSDKIPLFEATUREDETECTION_API boost::shared_ptr<HoughCircles2dLvl1>
118  const image::ImageConstPtr& pInGyImg,
120 IPSDKIPLFEATUREDETECTION_API boost::shared_ptr<HoughCircles2dLvl1>
122  const image::ImageConstPtr& pInGyImg,
126  const ipReal64 maxAngleWithGradDir,
127  const ipUInt32 nbMaxPtsPerCircle,
128  const ipsdk::imaproc::attr::AccumIntensityThresholdConstPtr& pAccumIntensityThreshold,
129  const ipsdk::imaproc::attr::RemoveTooCloseCirclesParamsConstPtr& pRemoveTooCloseCirclesParams,
130  const image::ImagePtr& pOutImg1,
131  const image::ImagePtr& pOutImg2);
132 
133 IPSDKIPLFEATUREDETECTION_API boost::shared_ptr<HoughCircles2dLvl1>
135  const attr::HoughCirclesRadiusRangeConstPtr& pRadiusRange);
136 IPSDKIPLFEATUREDETECTION_API boost::shared_ptr<HoughCircles2dLvl1>
138  const attr::HoughCirclesRadiusRangeConstPtr& pRadiusRange,
140  const ipUInt32 nbMaxPtsPerCircle,
141  const attr::AccumIntensityThresholdConstPtr& pAccumIntensityThreshold,
142  const attr::RemoveTooCloseCirclesParamsConstPtr& pRemoveTooCloseCirclesParams);
143 IPSDKIPLFEATUREDETECTION_API boost::shared_ptr<HoughCircles2dLvl1>
145  const image::ImageConstPtr& pInGyImg,
146  const attr::HoughCirclesRadiusRangeConstPtr& pRadiusRange);
147 IPSDKIPLFEATUREDETECTION_API boost::shared_ptr<HoughCircles2dLvl1>
149  const image::ImageConstPtr& pInGyImg,
150  const attr::HoughCirclesRadiusRangeConstPtr& pRadiusRange,
151  const attr::eHoughCircles2dAlgoMethod& method,
153  const ipReal64 maxAngleWithGradDir,
154  const ipUInt32 nbMaxPtsPerCircle,
155  const attr::AccumIntensityThresholdConstPtr& pAccumIntensityThreshold,
156  const attr::RemoveTooCloseCirclesParamsConstPtr& pRemoveTooCloseCirclesParams,
157  const image::ImagePtr& pOutImg1,
158  const image::ImagePtr& pOutImg2);
160 
164 getAsyncProcessorOutput(boost::shared_ptr<HoughCircles2dLvl1> pProcessor);
166 getAsyncProcessorMultiSliceOutput(boost::shared_ptr<HoughCircles2dLvl1> pProcessor);
168 
171 
172 } // end of namespace fd
173 } // end of namespace imaproc
174 } // end of namespace ipsdk
175 
176 #endif // __IPSDKIPLFEATUREDETECTION_HOUGHCIRCLES2D_H__
eCircleIntensityType
Enumerate describing circle intensity type.
Definition: CircleIntensityTypes.h:31
IPSDKIPLFEATUREDETECTION_API boost::shared_ptr< HoughCircles2dLvl1 > multiSlice_houghCircles2d_async(const image::ImageConstPtr &pInImg, const attr::HoughCirclesRadiusRangeConstPtr &pRadiusRange)
asynchronous wrappers
IPSDKIPLFEATUREDETECTION_API image::ImagePtr getAsyncProcessorOutput(boost::shared_ptr< CannyEdges2dImgLvl1 > pProcessor)
function to retrieve the result of an asynchronous processor
boost::shared_ptr< const ipsdk::imaproc::attr::HoughCirclesRadiusRange > HoughCirclesRadiusRangeConstPtr
shared pointer to const ipsdk::imaproc::attr::HoughCirclesRadiusRange
Definition: HoughCirclesRadiusRange.h:134
boost::shared_ptr< BaseImage > ImagePtr
double ipReal64
boost::shared_ptr< ipsdk::imaproc::attr::HoughCircles2dPpties > HoughCircles2dPptiesPtr
shared pointer to ipsdk::imaproc::attr::HoughCircles2dPpties
Definition: HoughCircles2dPpties.h:128
Definition of import/export macro for library.
boost::shared_ptr< const ipsdk::imaproc::attr::AccumIntensityThreshold > AccumIntensityThresholdConstPtr
shared pointer to const ipsdk::imaproc::attr::AccumIntensityThreshold
Definition: AccumIntensityThreshold.h:146
boost::shared_ptr< ipsdk::imaproc::attr::PlanIndexedHoughCircles2dPpties > PlanIndexedHoughCircles2dPptiesPtr
shared pointer to ipsdk::imaproc::attr::PlanIndexedHoughCircles2dPpties
Definition: PlanIndexedHoughCircles2dPpties.h:49
boost::shared_ptr< const ipsdk::imaproc::attr::RemoveTooCloseCirclesParams > RemoveTooCloseCirclesParamsConstPtr
shared pointer to const ipsdk::imaproc::attr::RemoveTooCloseCirclesParams
Definition: RemoveTooCloseCirclesParams.h:134
IPSDKIPLFEATUREDETECTION_API ipsdk::imaproc::attr::HoughCircles2dPptiesPtr houghCircles2d(const image::ImageConstPtr &pInImg, const ipsdk::imaproc::attr::HoughCirclesRadiusRangeConstPtr &pRadiusRange)
wrapper function for detection of circles in image using Hough algorithm This wrapper must be used wi...
IPSDKIPLFEATUREDETECTION_API boost::shared_ptr< HoughCircles2dLvl1 > houghCircles2d_async(const image::ImageConstPtr &pInImg, const ipsdk::imaproc::attr::HoughCirclesRadiusRangeConstPtr &pRadiusRange)
asynchronous wrappers
boost::shared_ptr< const BaseImage > ImageConstPtr
IPSDKIPLFEATUREDETECTION_API ipsdk::imaproc::attr::PlanIndexedHoughCircles2dPptiesPtr multiSlice_houghCircles2d(const image::ImageConstPtr &pInImg, const attr::HoughCirclesRadiusRangeConstPtr &pRadiusRange)
multi slice version of wrapper function for detection of circles in image using Hough algorithm This ...
Predefined types for hough circles 2d algorithm methods management.
IPSDKIPLFEATUREDETECTION_API ipsdk::imaproc::attr::PlanIndexedPixels2dPtr getAsyncProcessorMultiSliceOutput(boost::shared_ptr< ExtractLocalExtrema2dLvl1 > pProcessor)
function to retrieve the result of an asynchronous processor
#define IPSDKIPLFEATUREDETECTION_API
Import/Export macro for library IPSDKIPLFeatureDetection.
Definition: IPSDKIPLFeatureDetectionExports.h:25
Predefined types for circle intensity types.
eHoughCircles2dAlgoMethod
Enumerate describing Hough circles 2d detector method.
Definition: HoughCircles2dAlgoMethods.h:31
uint32_t ipUInt32