Ask Your Question

akif's profile - activity

2019-03-26 10:04:06 -0600 received badge  Notable Question (source)
2018-01-19 13:37:23 -0600 received badge  Popular Question (source)
2015-12-08 11:10:45 -0600 asked a question How to mask circular area ?

Hi there, I am trying to mask circular area in image.I put the code and the output image.As you can see,I draw the circle around iris.After this point,I want to black out everything outside circular area.How do I need to continue?Are there another ways to do so?

Thanks...

import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('i1.jpg',0)
img = cv2.medianBlur(img,5)
cimg = cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)
circles = cv2.HoughCircles(img,cv2.HOUGH_GRADIENT,1,120,
                        param1=50,param2=50,minRadius=30,maxRadius=0)
circles = np.uint16(np.around(circles))
for i in circles[0,:]:
     # draw the outer circle
     cv2.circle(cimg,(i[0],i[1]),i[2],(0,255,0),2)
     # draw the center of the circle
     cv2.circle(cimg,(i[0],i[1]),2,(0,0,255),3)
cv2.imwrite("iris.jpg",cimg)
plt.imshow(cimg, cmap = 'gray', interpolation = 'bicubic')
plt.xticks([]), plt.yticks([])  # to hide tick values on X and Y axis
plt.show()

image description

2015-12-08 05:34:50 -0600 commented answer Crop Image using hough circle

How can you do it by using cv2?