If you use a non-square (=non-NxN) grid and findChessboardCorners()
===

I posted this on the OpenCV forum, but so far no replies so trying here.

Page 352 of the 2.4.0 reference manual has this note:

> Note: If you use a non-square (=non-NxN) grid and
> findChessboardCorners() for calibration,and calibrateCamera returns
> bad values (zero distortion coefficients, an image center very far
> from(w/2-0.5,h/2-0.5), and/or large differences between fx and fy
> (ratios of 10:1 or more)), then youhave probably used
> patternSize=cvSize(rows,cols) instead of using
> patternSize=cvSize(cols,rows) infindChessboardCorners() .

This confuses me. What defines a row versus a column on the chessboard?
After all, the chessboard is rotated and move while collecting sets of
data for use with calibrateCamera.

What is very far? I have a non-square chessboard, 1292x964, 1/3 format
with a 4 mm aspherical lens; At full wide, I get: cx =639 and cy=550. 
Ideally, those should be 1292/2 = 646 and 964/2= 457;

Is 550 I'm getting for cy versus the expected 457 a "large difference"?

Should I swap width/height in patternSize? If so, does that imply I
should restrict rotation of the chessboard during calibration to
maintain a notion of chessboard rows versus columns with respect to the
camera's imager?

Thanks,
Dave Thomas
