2012-10-18 12 views
12

मेरे पास निम्न कोड है और मैं मंडल का पता लगाना चाहता हूं। जैसे कि यह विशेषता नहीं हैपाइथन के साथ सीवी 2 में आटा सर्कल का उपयोग कैसे करें?

img = cv2.imread("act_circle.png") 
    gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 
    circles = cv2.HoughCircles(gray,cv2.CV_HOUGH_GRADIENT) 

यह लग रहा है और त्रुटि निम्न

'module' object has no attribute 'CV_HOUGH_GRADIENT' 

किसी को पता है, जहां इस छिपा पैरामीटर है?

धन्यवाद

उत्तर

19

CV_HOUGH_GRADIENTcv मॉड्यूल के अंतर्गत आता है, तो आपको लगता है कि आयात करने के लिए की आवश्यकता होगी:

circles = cv2.HoughCircles(gray,cv.CV_HOUGH_GRADIENT) 
+1

या आप आयात को छोड़ सकते हैं और सिर्फ इतना कहना 'हलकों = cv2.HoughCircles (ग्रे, cv2.cv.CV_HOUGH_GRADIENT)' –

12

को

import cv2.cv as cv 

और अपने समारोह कॉल बदल मेरे मामले में, मैं ओपनसीवी 3.0.0 का उपयोग कर रहा हूं और यह निम्न तरीके से काम करता है:

circles = cv2.HoughCircles(gray_im, cv2.HOUGH_GRADIENT, 2, 10, np.array([]), 20, 60, m/10)[0] 

i12e cv2.cv.CV_HOUGH_GRADIENT के बजाय, मैंने केवल cv2.HOUGH_GRADIENT का उपयोग किया है।

3

अगर आप OpenCV 3 का उपयोग करें, तो इस कोड का उपयोग:

img = cv2.imread("act_circle.png") 
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 
circles = cv2.HoughCircles(gray,cv2.HOUGH_GRADIENT) # change here 
संबंधित मुद्दे