opencv/modules
Tom Becker 592f8d8c1b Merge pull request #10232 from TomBecker-BD:hough-many-circles
Hough many circles (#10232)

* Add Hui's optimization. Merge with latest changes in OpenCV.

* Use conditional compilation instead of a runtime flag.

* Whitespace.

* Create the sequence for the nonzero edge pixels only if using that approach.

* Improve performance for finding very large numbers of circles

* Return the circles with the larger accumulator values first, as per API documentation.
Use a separate step to check distance between circles. Allows circles to be sorted by strength first. Avoids locking in EstimateRadius which was slowing it down.
Return centers only if maxRadius == 0 as per API documentation.

* Sort the circles so results are deterministic. Otherwise the order of circles with the same strength depends on parallel processing completion order.

* Add test for HoughCircles.

* Add beads test.

* Wrap the non-zero points structure in a common interface so the code can use either a vector or a matrix.

* Remove the special case for skipping the radius search if maxRadius==0.

* Add performance tests.

* Use NULL instead of nullptr.
OpenCV should compile with C++98 compiler.

* Put test suite name first.
Use different test suite names for each test to avoid an error from the test runner.

* Address build bot errors and warnings.

* Skip radius search if maxRadius < 0.

* Dynamically switch to NZPointList when it will be faster than NZPointSet.

* Fix compile error: missing 'typename' prior to dependent type name.

* Fix compile error: missing 'typename' prior to dependent type name.
This time fix it the non C++ 11 way.

* Fix compile error: no type named 'const_reference' in 'class cv::NZPointList'

* Disable ManySmallCircles tests. Failing on Mac.

* Change beads image to JPEG for smaller file size.
Try enabling the ManySmallCircles tests again.

* Remove ManySmallCircles tests. They are failing on the Mac build.

* Fix expectations to check all circles.

* Changing case on a case-insensitive file system
Step 1: remove the old file names

* Changing case on a case-insensitive file system
Step 2: add them back with the new names

* Fix cmpAccum function to be strictly weak ordered.

* Add tests for many small circles.

* imgproc(perf): fix HoughCircles tests

* imgproc(houghCircles): refactor code

- simplify NZPointList
- drop broken (de-synchronization of 'current'/'mi' fields) NZPointSet iterator
- NZPointSet iterator is replaced to direct area scan
- use SIMD intrinsics
- avoid std exceptions (build for embedded systems)
2017-12-28 17:23:11 +03:00
..
calib3d Add Demo 5: Basic panorama stitching from a rotating camera in the homography tutorial. 2017-12-19 22:45:35 +01:00
core Fixed #10433 2017-12-27 14:09:25 +00:00
cudaarithm Fix CUDA integral. 2017-12-04 02:22:52 +01:00
cudabgsegm
cudacodec
cudafeatures2d
cudafilters
cudaimgproc
cudalegacy clean up the code 2017-12-22 08:42:21 +09:00
cudaobjdetect
cudaoptflow
cudastereo
cudawarping
cudev Fix CUDA integral. 2017-12-04 02:22:52 +01:00
dnn Add ocl version FasterRCNN accuracy test 2017-12-28 19:15:15 +08:00
features2d clean up the code 2017-12-22 08:42:21 +09:00
flann Hid symbols in static builds, added LTO flags, removed exports from ts 2017-12-07 10:26:48 +03:00
highgui Implementation of bit-exact resize. Internal calls to linear resize updated to use bit-exact version. (#9468) 2017-12-13 15:00:38 +03:00
imgcodecs clean up the code 2017-12-22 08:42:21 +09:00
imgproc Merge pull request #10232 from TomBecker-BD:hough-many-circles 2017-12-28 17:23:11 +03:00
java OpenCV version++ 2017-12-16 01:30:43 +03:00
js JavaScript bindings for dnn module 2017-12-08 18:33:48 +03:00
ml ml(ANN_MLP): ensure that train() call is always successful 2017-12-22 18:50:04 +00:00
objdetect Implementation of bit-exact resize. Internal calls to linear resize updated to use bit-exact version. (#9468) 2017-12-13 15:00:38 +03:00
photo Reverted calls to linear resize back to generic version for floating point matrices 2017-12-22 17:10:03 +03:00
python cmake: fix opencv_world build with contrib 2017-12-15 21:36:22 +00:00
shape Implementation of bit-exact resize. Internal calls to linear resize updated to use bit-exact version. (#9468) 2017-12-13 15:00:38 +03:00
stitching Implementation of bit-exact resize. Internal calls to linear resize updated to use bit-exact version. (#9468) 2017-12-13 15:00:38 +03:00
superres
ts clean up the code 2017-12-22 08:42:21 +09:00
video Reverted calls to linear resize back to generic version for floating point matrices 2017-12-22 17:10:03 +03:00
videoio Changed VA device in MediaSDK session initialization 2017-12-28 14:10:36 +03:00
videostab
viz cmake: fix WITH_VTK usage 2017-11-29 21:43:09 +03:00
world
CMakeLists.txt