Skip to content

Commit 3e776c8

Browse files
authored
Merge pull request #3854 from asmorkalov:as/fastcv_bindings_fix
Fixed Java and Python bindings generation
2 parents a00b3f3 + 80d4688 commit 3e776c8

File tree

7 files changed

+59
-74
lines changed

7 files changed

+59
-74
lines changed

modules/fastcv/include/opencv2/fastcv/hough.hpp

-21
Original file line numberDiff line numberDiff line change
@@ -25,27 +25,6 @@ namespace fastcv {
2525
*/
2626
CV_EXPORTS_W void houghLines(InputArray src, OutputArray lines, double threshold = 0.25);
2727

28-
29-
/**
30-
* @brief Finds circles in a grayscale image using Hough transform.
31-
* The radius of circle varies from 0 to max(srcWidth, srcHeight).
32-
*
33-
* @param src Input 8-bit image containing binary contour. Step should be divisible by 8, data start should be 128-bit aligned
34-
* @param circles Output array containing detected circles in a form (x, y, r) where all numbers are 32-bit integers
35-
* @param minDist Minimum distance between the centers of the detected circles
36-
* @param cannyThreshold The higher threshold of the two passed to the Canny() edge detector
37-
* (the lower one is twice smaller). Default is 100.
38-
* @param accThreshold The accumulator threshold for the circle centers at the detection
39-
* stage. The smaller it is, the more false circles may be detected.
40-
* Circles, corresponding to the larger accumulator values, will be
41-
* returned first. Default is 100.
42-
* @param minRadius Minimum circle radius, default is 0
43-
* @param maxRadius Maximum circle radius, default is 0
44-
*/
45-
CV_EXPORTS_W void houghCircles(InputArray src, OutputArray circles, uint32_t minDist,
46-
uint32_t cannyThreshold = 100, uint32_t accThreshold = 100,
47-
uint32_t minRadius = 0, uint32_t maxRadius = 0);
48-
4928
//! @}
5029

5130
} // fastcv::

modules/fastcv/include/opencv2/fastcv/mser.hpp

+15-15
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,13 @@ class CV_EXPORTS_W FCVMSER
5252
Typical value range [0.1 1.0], typical value 0.2
5353
* @return Feature detector object ready for detection
5454
*/
55-
CV_WRAP static Ptr<FCVMSER> create( cv::Size imgSize,
56-
uint32_t numNeighbors = 4,
57-
uint32_t delta = 2,
58-
uint32_t minArea = 30,
59-
uint32_t maxArea = 14400,
60-
float maxVariation = 0.15f,
61-
float minDiversity = 0.2f);
55+
CV_WRAP static Ptr<FCVMSER> create( const cv::Size& imgSize,
56+
int numNeighbors = 4,
57+
int delta = 2,
58+
int minArea = 30,
59+
int maxArea = 14400,
60+
float maxVariation = 0.15f,
61+
float minDiversity = 0.2f);
6262

6363
/**
6464
* @brief This is an overload for detect() function
@@ -95,15 +95,15 @@ class CV_EXPORTS_W FCVMSER
9595
* @param contourData Array containing additional information about found contours
9696
*/
9797
virtual void detect(InputArray src, std::vector<std::vector<Point>>& contours, std::vector<cv::Rect>& boundingBoxes,
98-
std::vector<ContourData>& contourData) = 0;
98+
std::vector<ContourData>& contourData) = 0;
9999

100-
CV_WRAP virtual cv::Size getImgSize() = 0;
101-
CV_WRAP virtual uint32_t getNumNeighbors() = 0;
102-
CV_WRAP virtual uint32_t getDelta() = 0;
103-
CV_WRAP virtual uint32_t getMinArea() = 0;
104-
CV_WRAP virtual uint32_t getMaxArea() = 0;
105-
CV_WRAP virtual float getMaxVariation() = 0;
106-
CV_WRAP virtual float getMinDiversity() = 0;
100+
CV_WRAP virtual cv::Size getImgSize() = 0;
101+
CV_WRAP virtual int getNumNeighbors() = 0;
102+
CV_WRAP virtual int getDelta() = 0;
103+
CV_WRAP virtual int getMinArea() = 0;
104+
CV_WRAP virtual int getMaxArea() = 0;
105+
CV_WRAP virtual float getMaxVariation() = 0;
106+
CV_WRAP virtual float getMinDiversity() = 0;
107107

108108
virtual ~FCVMSER() {}
109109
};

modules/fastcv/include/opencv2/fastcv/thresh.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ namespace fastcv {
2727
* @param falseValue The value assigned to the destination pixel if the source is out of the range inclusively defined by the
2828
* pair of threshold values
2929
*/
30-
CV_EXPORTS_W void thresholdRange(InputArray src, OutputArray dst, uint8_t lowThresh, uint8_t highThresh, uint8_t trueValue, uint8_t falseValue);
30+
CV_EXPORTS_W void thresholdRange(InputArray src, OutputArray dst, int lowThresh, int highThresh, int trueValue, int falseValue);
3131

3232
//! @}
3333

modules/fastcv/perf/perf_mser.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ PERF_TEST_P(MSERPerfTest, run,
3838

3939
cv::Ptr<cv::fastcv::FCVMSER> mser;
4040
mser = cv::fastcv::FCVMSER::create(src.size(), numNeighbors, delta, minArea, maxArea,
41-
maxVariation, minDiversity);
41+
maxVariation, minDiversity);
4242

4343
while(next())
4444
{

modules/fastcv/src/mser.cpp

+35-34
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,22 @@ class MSER_Impl CV_FINAL : public cv::fastcv::FCVMSER
1212
{
1313
public:
1414
explicit MSER_Impl(cv::Size imgSize,
15-
uint32_t numNeighbors,
16-
uint32_t delta,
17-
uint32_t minArea,
18-
uint32_t maxArea,
19-
float maxVariation,
20-
float minDiversity);
15+
int numNeighbors,
16+
int delta,
17+
int minArea,
18+
int maxArea,
19+
float maxVariation,
20+
float minDiversity);
2121

2222
~MSER_Impl() CV_OVERRIDE;
2323

24-
cv::Size getImgSize() CV_OVERRIDE { return imgSize; };
25-
uint32_t getNumNeighbors() CV_OVERRIDE { return numNeighbors; };
26-
uint32_t getDelta() CV_OVERRIDE { return delta; };
27-
uint32_t getMinArea() CV_OVERRIDE { return minArea; };
28-
uint32_t getMaxArea() CV_OVERRIDE { return maxArea; };
29-
float getMaxVariation() CV_OVERRIDE { return maxVariation; };
30-
float getMinDiversity() CV_OVERRIDE { return minDiversity; };
24+
cv::Size getImgSize() CV_OVERRIDE { return imgSize; };
25+
int getNumNeighbors() CV_OVERRIDE { return numNeighbors; };
26+
int getDelta() CV_OVERRIDE { return delta; };
27+
int getMinArea() CV_OVERRIDE { return minArea; };
28+
int getMaxArea() CV_OVERRIDE { return maxArea; };
29+
float getMaxVariation() CV_OVERRIDE { return maxVariation; };
30+
float getMinDiversity() CV_OVERRIDE { return minDiversity; };
3131

3232
void detect(InputArray src, std::vector<std::vector<Point>>& contours) CV_OVERRIDE;
3333
void detect(InputArray src, std::vector<std::vector<Point>>& contours, std::vector<cv::Rect>& boundingBoxes) CV_OVERRIDE;
@@ -42,24 +42,24 @@ class MSER_Impl CV_FINAL : public cv::fastcv::FCVMSER
4242
bool useContourData = true);
4343

4444
cv::Size imgSize;
45-
uint32_t numNeighbors;
46-
uint32_t delta;
47-
uint32_t minArea;
48-
uint32_t maxArea;
49-
float maxVariation;
50-
float minDiversity;
45+
int numNeighbors;
46+
int delta;
47+
int minArea;
48+
int maxArea;
49+
float maxVariation;
50+
float minDiversity;
5151

5252
void *mserHandle;
5353
};
5454

5555

56-
MSER_Impl::MSER_Impl(cv::Size _imgSize,
57-
uint32_t _numNeighbors,
58-
uint32_t _delta,
59-
uint32_t _minArea,
60-
uint32_t _maxArea,
61-
float _maxVariation,
62-
float _minDiversity)
56+
MSER_Impl::MSER_Impl(cv::Size _imgSize,
57+
int _numNeighbors,
58+
int _delta,
59+
int _minArea,
60+
int _maxArea,
61+
float _maxVariation,
62+
float _minDiversity)
6363
{
6464
CV_Assert(_imgSize.width > 50);
6565
CV_Assert(_imgSize.height > 5);
@@ -244,16 +244,17 @@ void MSER_Impl::detect(InputArray src, std::vector<std::vector<Point>>& contours
244244
this->detectRegions(src, contours, boundingBoxes, contourData, /*useBoundingBoxes*/ true, /*useContourData*/ true);
245245
}
246246

247-
Ptr<FCVMSER> FCVMSER::create(cv::Size imgSize,
248-
uint32_t numNeighbors,
249-
uint32_t delta,
250-
uint32_t minArea,
251-
uint32_t maxArea,
252-
float maxVariation,
253-
float minDiversity)
247+
Ptr<FCVMSER> FCVMSER::create(const cv::Size& imgSize,
248+
int numNeighbors,
249+
int delta,
250+
int minArea,
251+
int maxArea,
252+
float maxVariation,
253+
float minDiversity)
254254
{
255+
CV_Assert(numNeighbors > 0 && delta >= 0 && minArea >= 0 && maxArea >= 0);
255256
return makePtr<MSER_Impl>(imgSize, numNeighbors, delta, minArea, maxArea, maxVariation, minDiversity);
256257
}
257258

258259
} // fastcv::
259-
} // cv::
260+
} // cv::

modules/fastcv/src/thresh.cpp

+6-1
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,15 @@
88
namespace cv {
99
namespace fastcv {
1010

11-
void thresholdRange(InputArray _src, OutputArray _dst, uint8_t lowThresh, uint8_t highThresh, uint8_t trueValue, uint8_t falseValue)
11+
void thresholdRange(InputArray _src, OutputArray _dst, int lowThresh, int highThresh, int trueValue, int falseValue)
1212
{
1313
INITIALIZATION_CHECK;
1414

15+
CV_Assert(lowThresh >= 0 && lowThresh < 256);
16+
CV_Assert(highThresh >= 0 && highThresh < 256);
17+
CV_Assert(falseValue >= 0 && falseValue < 256);
18+
CV_Assert(trueValue >= 0 && trueValue < 256);
19+
1520
CV_Assert(lowThresh <= highThresh);
1621

1722
CV_Assert(!_src.empty() && _src.type() == CV_8UC1);

modules/fastcv/test/test_mser.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -175,4 +175,4 @@ INSTANTIATE_TEST_CASE_P(FastCV_Extension, MSERTest,
175175
::testing::Values("cv/shared/baboon.png", "cv/mser/puzzle.png")
176176
)
177177
);
178-
}} // namespaces opencv_test, ::
178+
}} // namespaces opencv_test, ::

0 commit comments

Comments
 (0)