棋盘
1)cvFindChessboardCorners:定位棋盘的角点。
int cvFindChessboardCorners(
const void* image,
CvSize pattern_size,
CvPoint2D32f* corners,
int* corner_count = NULL,
int flags = CV_CALIB_CB_ADAPTIVE_THRESH );
1、image,输入的棋盘图必须是8位灰度或者彩色图像
2、pattern_size,棋盘图中每行和每列的角点个数(内角点的个数)。如上图为(6,7)。
3、corners,存储角点位置的数组指针,该数组表现事先分配空间,而且至少必须大于棋盘的所有角点的个数。
4、corner_count,变量是可选的,如果不是NULL,则它是一个指向所记录角点数目的正数指针。
5、flag,用来定义额外的滤波步骤以有助于寻找棋盘角点。所有的变量都可以单独或者以逻辑或的方式组合使用。
CV_CALIB_CB_ADAPTIVE_THRESH ,cvFindChessboardCorners()的默认方式是,首先根据平均亮度对图像进行二值化,但如果设置此标志,则使用自适应二值化。
CV_CALIB_CB_NORMALIZE_IMAGE ,如果设置了该标志,则会在二值化之前应用cvEqualizeHist()来归一化图像。
CV_CALIB_CB_FILTER_QUADS ,一旦二值化图像以后,算法试图根据棋盘上黑色方块的投影视场中定位四边形。这是一个