Engine
Engine

Reputation: 5422

Opencv cv::findchessboardCorners

say we got a 8x9 chessboard, and the function cv::findChessboardCorners recognize it without problem, My question is why does the function not recognize in the same image a a chessboard with smaller size, I tried in a for-loop and decremented the size the function may recognize a chessboard of let say 5x4 and 4x5 but not 6x7 for example ? any idea why is that happening ?

I already tried debugging the program and I didn't understand what really happens in calibinit.hpp

thanks in advance !

Upvotes: 1

Views: 2482

Answers (2)

m47h
m47h

Reputation: 1703

I think the main problem is that you would have ambiguities since it is easily possible to find different smaller chessboards in a larger one.

If you do corner detection on an image consisting of a chessboard, you will find a regular grid of corners. Then findChessboardCorners needs to find a structur which is very similar to the given chessboard of size (x,y). It will rate the different possibilities to map the chessboard to the regular grid found by the corner detection and these ratings are very similar. So it is difficult to decide which is THE CHESSBOARD, you are looking for.

Upvotes: 1

tenta4
tenta4

Reputation: 312

It because the recognized board must have light border.

Upvotes: 0

Related Questions