I am new to OpenCV so can anyone help with the answer given here for better understanding.I am not able to get what is "angle" and "square" in following code
                if (approx.size() == 4 &&
                fabs(contourArea(Mat(approx))) > 1000 &&
                isContourConvex(Mat(approx)))
            {
                double maxCosine = 0;
                for (int j = 2; j < 5; j++)
                {
                    CGFloat angle;
                    double cosine = fabs(angle(approx[j%4], approx[j-2], approx[j-1]));
                    maxCosine = MAX(maxCosine, cosine);
                }
                if (maxCosine < 0.3)
                    squares.push_back(approx);
            }
 
     
    