Identificando círculos verdes a partir desta imagem

No momento, criei uma imagem que consiste em pontos pretos e verdes ..... Fiz uma impressão e, em seguida, cliquei nela com a minha câmera ..... Depois disso, criei um programa para digitalizar essa imagem no opencv. Aqui está a imagem:

Este é o código

    image = imread("ImageTryse.jpg", 1); // Read the image
cv::resize(image, image, Size(800, 800), 0, 0, cv::INTER_CUBIC);
Mat image_gray = IncreaseContrast(image);
cvtColor(image_gray, image_gray, CV_BGR2GRAY);
vector<vec3f> circles1;
HoughCircles(image_gray, circles1, CV_HOUGH_GRADIENT, 2, 10, 100, 22, 10, 17);

Sou capaz de escanear círculos com esse código e executar um loop por cada um deles ... Mas agora eu quero saber o tempo em que o círculo é verde ou preto .... Não sei como posso fazer isso .. .. Tentei convertê-lo para hsv, mas estava mostrando cores diferentes no lado com luz ..... Por favor me ajude a resolver esse problema ....

questionAnswers(2)

yourAnswerToTheQuestion