CascadeClassifier.detectMultiScale() grew a bug after 2.4.2 (bug not in 2.4.2, in 2.4.3) (Bug #2539)
Description
By setting outputRejectLevels to true, the detectMultiScale() function in the CascadeClassifier can return the level and weight of rejected windows that reach the 4th to last (or higher) level in the cascade.
Attached is a simple program that calls detectMultiScale() and prints out the returned values. If it is linked against 2.4.2, I get this:
$ ./detectMultiScale img_417.jpg 314 179 382 247 108.613 22
78 41 129 92 89.4716 19
179 109 253 183 109.534 22
11 177 67 233 106.255 22
315 115 388 188 106.376 22
51 54 128 131 107.209 22
$
However, if it is linked against 2.4.3, I get this:
$ ./detectMultiScale img_417.jpg
314 179 382 247 6.94828e-310 22
78 41 129 92 6.94828e-310 19
179 109 253 183 6.94828e-310 22
11 177 67 233 6.94828e-310 22
315 115 388 188 6.94828e-310 22
51 54 128 131 6.94828e-310 22
$
Note that the levels are ok, but the weights are wrong.
Associated revisions
Merge pull request #2539 from mjul:fixtypos
History
Updated by Vadim Pisarevsky over 12 years ago
- Assignee set to Vadim Pisarevsky
- Category set to objdetect
Updated by Marina Kolpakova about 12 years ago
I think you got a race conditions and e331787 should fix your problem.
Updated by Andrey Kamaev about 12 years ago
Lets mark this as resolved. Please, report if the problem still persist in the source repository.
- Target version set to 2.4.4
- Status changed from Open to Done