这边我想要识别圆形的个数和蓝色圆形的个数,顺便输出其坐标,我照着网上学了学,结果出了这么个问题,有点不理解



#include <iostream>
#include <opencv2/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <fstream>
#include <string>
using namespace cv;
using namespace std;
int main()
{
int i;
string picture = "D:\\test\\img.jpg";
Mat gray1 = imread(picture, IMREAD_GRAYSCALE);
vector<Vec3f> boom;
HoughCircles(gray1,boom,1,10,110,80,10,100);
ofstream outFile;
outFile.open("D:\\test\\test.txt");
outFile << "圆形数量: " << boom.size() << endl;
for(i=0;i<boom.size();i++)
{
outFile << "圆心坐标" << boom[i] << endl;
}
string picture2 = "D:\\test\\img.jpg";
Mat gray2 = imread(picture2, IMREAD_UNCHANGED);
Mat change;
cvtColor(gray2, change, COLOR_BGR2HSV);
vector<Mat> mv;
split(gray2, mv);
mv[1] = 0;
mv[2] = 0;
Mat mix;
merge(mv, mix);
Scalar BlueL = Scalar(100, 43, 48);
Scalar BlueH = Scalar(124, 255, 255);
Mat mask;
inRange(mix, BlueL, BlueH, mask);
vector<Vec3f> boom2;
HoughCircles(gray2, boom2, 1, 10, 110, 80, 10, 100);
outFile << "蓝色圆形数量" << boom2.size() << endl;
outFile.close();
return 0;
}