/// <summary> /// Находит углы в изображении шахматной доски, установленном с помощью SetImage /// </summary> /// <param name="corners">Найденные углы</param> /// <returns>Показывает соответствуют-ли найленные углы шаблону CornersPattern</returns> public bool FindCorners(out CvPoint2D32f[] corners) { bool result; int numCorners; ChessboardFlag flags = ChessboardFlag.AdaptiveThresh | ChessboardFlag.NormalizeImage | ChessboardFlag.FilterQuads; CvTermCriteria criteria = new CvTermCriteria(CriteriaType.Iteration | CriteriaType.Epsilon, MaxIterations, Epsilon); // Находим углы result = chessBoard.FindChessboardCorners(CornersPattern, out corners, out numCorners, flags); // Уточнаем положение углов chessBoard.CvtColor(grayChessBoard, ColorConversion.RgbToGray); grayChessBoard.FindCornerSubPix(corners, corners.Length, new CvSize(11, 11), new CvSize(-1, -1), criteria); return(result); }