代码如下:
#include<opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main()
{
int b = 0, g = 0, r = 255;
cv::Mat image = cv::imread("F:\\ebook\\opencv\\LearningOpenCV3\\test\\test\\test.png");
cv::namedWindow("window1");
cv::imshow("window1", image);
cv::waitKey(0);
cv::Mat gray;
cv::cvtColor(image, gray, COLOR_BGR2GRAY);
cv::namedWindow("window1");
cv::imshow("window1", gray);
cv::waitKey(0);
vector<Vec3f> result;
//cv::HoughLinesP(cannyimage, result, 1, CV_PI / 180, 150, 10, 10);
cv::HoughCircles(gray, result, cv::HOUGH_GRADIENT, 1, 40, 150, 40, 10, 200);
//将圆画出
int linenum = result.size();
cv::Mat disimage;
cvtColor(gray, disimage, COLOR_GRAY2RGB);
for (int i = 0; i < linenum; i++)
{
int circlex = result[i][0];
int circley = result[i][1];
int circler = result[i][2];
circle(disimage,Point(cir