(wg) FindChessboardCorners slow in negative case (Bug #41)
Description
FindChessboardCorners is returning quite quickly when there is a chessboard in frame, but when there is not, it seems to take much longer. This makes video very choppy e.g. when the chessboard is disappearing off the side of the frame.
I understand that it is searching harder for the chessboard in these cases.
Can we add an option to do only cheap searches?
Associated revisions
Merge pull request #41 from jet47:gpu-modules
Refactored internal helpers. Simplified structure. Updated comments. Updates #41
Signed-off-by: Maxim Kostin <[email protected]>
History
Updated by Gary Bradski about 15 years ago
Possibly add a flag: CV_CALIB_CB_LIMIT_SEARCH that only looks for chessboards at larger scales.
But this "bug" is not possible to fix except as embedded in a larger control loop since such an option simply will not find many chessboards. The larger control loop would have to track, say, the locations of the corners of the chessboard and when they slip off, would then have to start issuing calls to findChessboardCorners with the LIMIT_SEARCH flag on. Then switch it off when the chessboard is found again.
A partial board finder might also work.
Updated by anonymous - about 15 years ago
Gary, FindChessboardCorners does not currently accept a prior.
It would be fine for interactive calibration to have a 'fast' mode, even if it misses some checkerboards.
Updated by Victor Eruhimov about 15 years ago
r2496 contains a fix. Call cvFindChessboardCorners with a flag CV_CALIB_CB_FAST_CHECK (can be combined with any other flag). Prior to running the full search a fast check for a chessboard in an input image is performed, usually taking less than 0.2us per pixel, giving about 15-20fps on 640x480 images.
- Status changed from Open to Done
- (deleted custom field) set to fixed