در ابتدا ار تصویر ماسک تهیه کنید بهتر تصویر را به فضای رنگی HSV برده و از کانال saturation برای تهیه ماسک استفاده کنید.سپس با استفاده از تابع findContour مجموعه کانتور ها را از ماسک بدست آورده و با استفاده از تابع drawContours کانتور ها را نمایش دهید.
تصویر ماسک :
تصویر کانتور های بدست آمده :
int main()
{
Mat img = imread("d:\\1.jpg",1);
Mat hsv_img;
cvtColor(img,hsv_img,CV_BGR2HSV_FULL);
vector<Mat> imgs;
split(hsv_img,imgs);
blur(imgs[1],imgs[1],Size(3,3));
threshold(imgs[1],imgs[1],65,255,CV_THRESH_BINARY);
imshow("mask",imgs[1]);
vector<vector<Point>> contours;
findContours(imgs[1],contours,CV_RETR_EXTERNAL,CV_CHAIN_APPROX_SIMPLE);
drawContours(img,contours,-1,CV_RGB(255,0,0),1);
imshow("view",img);
waitKey(0);
}