Ask Your Question

Revision history [back]

Thansk to Vladislav Vinogradov, i think this could be useful:

HoughCircles performs filtration of detected circles according to min_dist parameter. CPU implementation of HoughCircles is single-threaded, it returns circles in the same order for all launches.

GPU implementation is multi-threaded, and the order of detected circles can be different for different launches.

That's why the filtration stage in GPU implementation can remove different circles for different launches. And it can affect to the total number of detected circles. For example, for 3 circles in one line A B C we can remove central circle B or remove A and C.

If you need to have the same results for all launches, you can disable filtration (set min_dist to zero), sort the output array of detected circles and perform your own filtration.