Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python + OpenCV = How to crop circle?

The below is the code:

self.img = cv2.imread(image,)
circle = cv2.HoughCircles(self.img, 3,
                          dp=1.5, minDist=1000, minRadius=100, maxRadius=1000)
red = (0,0,255)
x = circle[0][0][0]
y = circle[0][0][1]
r = circle[0][0][2]
cv2.circle(self.img, (x, y), r, red, 2)



    x - X
    y - Y
    r - Radius
    For example: 521.25, 506.25, 318.919

From the code how to crop the circle from the given example ?

like image 386
Stanislav Filin Avatar asked Oct 19 '25 20:10

Stanislav Filin


1 Answers

Its simple .. you need to get x,y co-ordinates of top right of rectangle and find with and height. Circles can be only enclosed in squares.

# given x,y are circle center and r is radius
rectX = (x - r) 
rectY = (y - r)
crop_img = self.img[y:(y+2*r), x:(x+2*r)]
like image 158
DarkHorse Avatar answered Oct 21 '25 08:10

DarkHorse