Mat src_gray;// 保存灰度圖
Mat src_binary;// 保存二值圖
int Threshold1 = 100;// 閥值
int Threshold2 = 255;
cvtColor(src, src_gray, CV_BGR2GRAY);
threshold(src_gray, src_binary, Threshold1, Threshold2, CV_THRESH_BINARY);
// 反色(黑色背景)
// bitwise_not(src_binary, src_binary);
// 查找圖像的所有輪廓
vector<vector<Point>> contours_temp;
findContours(src_binary, contours_temp, RETR_TREE, CV_CHAIN_APPROX_SIMPLE, cvPoint(0, 0));
// 篩選的面積限定值
double min_area = 100;
// 篩選輪廓
for (int i = 0; i < contours_temp.size(); i++)
{
// 第i個輪廓的面積,
// false:表示某壹個方向上輪廓的的面積值,順時針或者逆時針,壹般選擇默認false
double contour_area = contourArea(contours_temp[i], false);
// 如果該輪廓的面積小於限定值,那麽就判定為黑點
if (contour_area < min_area)
{
...
}
}