1

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 !

Engine
  • 5,360
  • 18
  • 84
  • 162
  • Can we have some code please? possibly where you run the function? – SD1990 Aug 15 '13 at 06:50
  • what for ? it's not a code problem ? – Engine Aug 15 '13 at 06:51
  • 1
    possibly have a look at http://stackoverflow.com/questions/15018620/findchessboardcorners-cannot-detect-chessboard-on-very-large-images-by-long-foca – SD1990 Aug 15 '13 at 06:52
  • thanks @SD1990 the problem of the question is the size of the whole image"the resolution". I don't have this problem. My question concerns the size of the chessboard! and by the way I'm working with small sizes – Engine Aug 15 '13 at 07:01

2 Answers2

1

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.

m47h
  • 1,611
  • 2
  • 18
  • 26
  • that makes sense to my too, but how can I escape or solve this ?? – Engine Aug 15 '13 at 11:47
  • i think, this is not possible with the findChessboardCorners method. You have to extract corners by yourself (e.g. by cv::cornerHarris) and then select your chessboard out of this. – m47h Aug 15 '13 at 14:08
  • I don't think that this will get me a good data for the calibration – Engine Aug 15 '13 at 15:30
  • why do you want to look for a smaller chessboard? In which case does this make sense? – m47h Aug 16 '13 at 09:31
  • well if I got only a part of the chessboard on the frame, I want to get the point of this part ! – Engine Aug 16 '13 at 11:00
0

It because the recognized board must have light border.

tenta4
  • 304
  • 2
  • 16