opencv/modules/imgproc/perf
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
..
opencl fix file names 2017-12-15 14:59:35 +03:00
perf_accumulate.cpp Updated fix for accumulate performance test in case of multiple iterations 2017-06-13 19:23:34 +03:00
perf_bilateral.cpp Change sanity check for perfomance test of bilateral filter 2014-04-07 14:26:47 +04:00
perf_blur.cpp add perf test for boxFilter CV8U to CV16U 2017-12-01 14:38:00 +03:00
perf_canny.cpp trace: initial support for code trace 2017-06-26 17:07:13 +03:00
perf_corners.cpp Added setIppErrorStatus() 2014-04-24 16:48:46 +04:00
perf_cvt_color.cpp add enum Bayer**2BGRA 2017-02-11 00:20:57 +09:00
perf_distanceTransform.cpp Added ippiDistanceTransform for cv::distanceTransform, maskSize=3,5 2014-04-21 15:17:55 +04:00
perf_filter2d.cpp Extended set of existing performance test to OpenVX HAL suitable execution modes 2017-04-27 12:32:29 +03:00
perf_floodfill.cpp perftest for floodfill 2014-05-29 13:36:13 +04:00
perf_goodFeaturesToTrack.cpp Merge pull request #9618 from vipinanand4:goodFeaturesToTrack_added_gradiantSize 2017-09-22 14:04:43 +00:00
perf_histogram.cpp hopefully, the last test failures are fixed now 2013-10-24 23:31:00 +04:00
perf_houghcircles.cpp Merge pull request #10232 from TomBecker-BD:hough-many-circles 2017-12-28 17:23:11 +03:00
perf_houghlines.cpp fix file names 2017-12-15 14:59:35 +03:00
perf_integral.cpp Increased time limits, eliminated extra params 2013-01-31 16:18:52 +04:00
perf_main.cpp Performance testing branch is merged back into trunk 2011-09-06 15:30:28 +00:00
perf_matchTemplate.cpp Fix epsilon calculation for sanity check in x32 build 2014-04-24 10:48:32 +04:00
perf_moments.cpp Increased perf_imgproc.moments max error 2015-04-27 17:05:55 +03:00
perf_morph.cpp add multiruns to fix "unreliable results" error 2013-06-13 21:14:42 +04:00
perf_phasecorr.cpp optimized createHanningWindow 2014-01-28 23:37:20 +04:00
perf_precomp.hpp Extract imgcodecs module from highgui 2014-07-07 16:28:08 +04:00
perf_pyramids.cpp Extended set of existing performance test to OpenVX HAL suitable execution modes 2017-04-27 12:32:29 +03:00
perf_remap.cpp add multiruns to fix "unreliable results" error 2013-06-13 21:14:42 +04:00
perf_resize.cpp Merge pull request #10387 from terfendail:resize23_perftest 2017-12-22 13:26:05 +00:00
perf_sepfilters.cpp Eliminate the need of ::testsing::ValuesIn() for CV_ENUM 2013-04-15 19:39:49 +04:00
perf_spatialgradient.cpp spatialGradient: HAL-accelerated 2015-06-26 16:41:00 +02:00
perf_threshold.cpp add HAL for adaptiveThreshold 2017-11-27 15:35:02 +03:00
perf_warp.cpp build: detect Android via '__ANDROID__' macro 2017-07-10 12:43:59 +03:00