Wie zu black-out-alles, was außerhalb eines Kreises im Open CV

Ich bin versucht derzeit, black out alles, was außerhalb eines Kreises.
Ich bin zeichnen des Kreises mit den folgenden Zeilen code:

cv::Point center(cvRound(circles[i][0]), cvRound(circles[i][1])); //CVRound converts floating numbers to integer
int radius = cvRound(circles[i][2]);                              //Radius is the third parameter [i][0] = x [i][1]= y [i][2] = radius
circle( image, center, 3, cv::Scalar(0,255,0), -1, 8, 0 );        //Drawing little circle to Image Center , next Line of Code draws the real circle
circle( image, center, radius, cv::Scalar(0,0,255), 3, 8, 0 );    //Circle(img, center, radius, color, thickness=1, lineType=8, shift=0)

Was ist der beste Ansatz, der Malerei alles, was der circly schwarz, wenn ich einen radius und der Mittelpunkt meines Kreises?
Tut OpenCV bieten einen einfachen Mechanismus, dies zu tun oder sollte ich eine Iteration durch alle Pixel meines Bildes und je nach position Farbe schwarz oder nicht?

  • Erstellen Sie ein Bild mit der Maske (nur ziehen Sie den Kreis in weißer Farbe auf ein Schwarzes Bild mit einer Größe wie Ihre original-Bild), dann verwenden Sie bitwise_and() mit Ihrem Bild und Maske..
Schreibe einen Kommentar