//4.霍夫变换检测圆形------------------------------------------------------
cv::Mat image = cv::imread("../../aTestImage/carriage.jpg", 0);//Building
cv::GaussianBlur(image, image, cv::Size(5, 5), 1.5);//高斯滤波 变模糊 5*5卷积核 加权平均数1.5
std::vector circles;
//(src,res, ,累加器分辨率,圆之间最小距离, Canny高阈值,最小投票数,极大值半径,极小值半径)
cv::HoughCircles(image, circles, CV_HOUGH_GRADIENT, 2, 50, 200, 100, 20,60 );
std::vector::const_iterator itc = circles.begin();
while (itc != circles.end())
{
cv::circle(image, cv::Point((*itc)[0], (*itc)[1]), (*itc)[2], cv::Scalar(255), 2);
++itc;
}