有时在用mode=RETR_EXTERNAL寻找最外层轮廓时会出现找到的最外层轮廓是画布的轮廓,这时需要调整threshold的最后一个参数,即把THRESH_BINARY_INV 改为THRESH_BINARY 或者把THRESH_BINARY 改为THRESH_BINARY_INV,这是因为findContours是从黑色背景中寻找白色轮廓。
Imgproc.threshold (grayMat_1, grayMat_1, 127, 255, Imgproc.THRESH_BINARY_INV);
Imgproc.findContours (grayMat_1, contours, hierarchy, Imgproc.RETR_EXTERNAL, Imgproc.CHAIN_APPROX_NONE);// 找最外层轮廓