पायथन ओपनसीवी विधि | cv2.circle ()

| | | | | | | | | | |

ओपनसीवी-पायथन एक पायथन लिंक लाइब्रेरी है जिसे कंप्यूटर दृष्टि समस्याओं को हल करने के लिए डिज़ाइन किया गया है। cv2.circle () विधि का उपयोग किसी भी छवि पर एक वृत्त खींचने के लिए किया जाता है।

वाक्यविन्यास: cv2.circle(image, center_coordinates, त्रिज्या, रंग, मोटाई)
पैरामीटर: 
छवि: यह वह छवि है जिस पर वृत्त खींचा जाना है। 
center_coordinates: मजबूत> यह वृत्त का केंद्र निर्देशांक है। निर्देशांक दो मानों के टुपल्स के रूप में दर्शाए जाते हैं अर्थात (X निर्देशांक मान, Y समन्वय मान). 
त्रिज्या: यह है वृत्त की त्रिज्या. 
रंग: यह वृत्त की सीमा रेखा का रंग है जिसे खींचा जाना है। BGR के लिए, हम एक टपल पास करते हैं। उदाहरण: (255, 0, 0) नीले रंग के लिए। 
मोटाई: यह px में सर्कल बॉर्डर लाइन की मोटाई है। -1 px की मोटाई निर्दिष्ट रंग से वृत्त के आकार को भर देगी।
वापसी मूल्य: यह एक छवि देता है। 
 

छवि OpenCV पर एक वृत्त कैसे बनाएं?

StackOverflow सवाल

मैं वेब कैमरा से एक छवि प्राप्त करने के लिए अजगर और opencv का उपयोग कर रहा हूं, और मैं जानना चाहता हूं कि मेरी छवि पर एक सर्कल कैसे बनाया जाए, बस पारदर्शी के साथ एक साधारण हरा सर्कल भरें

यहां छवि विवरण दर्ज करें

मेरा कोड:

आयात cv2 आयात सुन्न आयात sys अगर __name__ == `__main__`: #वेबकैम से वर्तमान फ्रेम प्राप्त करें cam = cv2. VideoCapture(0) img = cam.read() #एक वृत्त कैसे बनाएं????  cv2.imshow(`WebCam`, img) cv2.waitKey() 

अग्रिम धन्यवाद। p>

उत्तर

cv2.circle(img, Center, त्रिज्या, रंग, मोटाई= 1, lineType=8, shift=0) í कोई नहीं एक वृत्त खींचता है। पैरामीटर: img (CvArr) ‚Äì वह चित्र जहां वृत्त है खींचा गया केंद्र (CvPoint) ‚Äì वृत्त त्रिज्या का केंद्र ( int) ‚Äì वृत्त के रंग की त्रिज्या (CvScalar) ‚Äì वृत्त के रंग की मोटाई (int) ‚Äì वृत्त की रूपरेखा की मोटाई यदि सकारात्मक है, अन्यथा यह इंगित करता है कि एक भरा हुआ वृत्त है लाइन टाइप (int बनाया जाना है ) ‚Äì सर्कल की सीमा का प्रकार, लाइन विवरण शिफ्ट देखें (int) भिन्नात्मक बिट्स की संख्या में केंद्र और त्रिज्या मान 

को समन्वित करता है केवल बॉर्डर के लिए "मोटाई" पैरामीटर का उपयोग करें।

उदाहरण #1

def blob(x): """ब्लॉब स्थिति और आकार के Nx3 मैट्रिक्स को देखते हुए, N img_size x img_size छवियों, प्रत्येक के साथ a x की प्रत्येक पंक्ति में मान द्वारा दिए गए बूँद को x = [x,y,radius] की एक पंक्ति।""" y = np.zeros((x.shape[0], img_size, img_size)) i के लिए , एन्यूमरेट में कण (x): rr, cc = skimage.draw.circle (कण [0], कण [1], अधिकतम (कण [2], 1), आकार = (img_size, img_size)) y [i, rr, cc] = 1 रिटर्न y #%% # नाम (यह केवल इस समय के संदर्भ के लिए है!) 

उदाहरण #2

def update(self, RadaData): self .img = np.zeros((self.height, self.width, self.channels), np.uint8) cv2.line(self.img, (10, 0), (self.width/2 - 5, self. ऊंचाई), (100, 255, 255)) cv2.line(self.img, (self.width - 10, 0)), (self.width/2 + 5, self.height), (100, 255, 255) ) श्रेणी में ट्रैक_नंबर के लिए (1, 65): अगर रडार में str(track_number)+`_track_range`: ट्रैक_रेंज = रडारडेटा[str(track_number)+`_track_range`] track_angle = (float(radarData[str(track_number)+`_track_angle) `])+90.0)*math.pi/180 x_pos = math.cos(track_angle)*track_range*4 y_pos = math.sin(track_angle)*track_range*4 cv2.circle(self.img, (self.w) idth/2 + int(x_pos), self.height - int(y_pos) - 10), 5, (255, 255, 255)) #cv2.putText(self.img, str(track_number), # (self.width) /2 + int(x_pos)-2, self.height - int(y_pos) - 10), self.font, 1, (255,255,255), 2) cv2.imshow("Radar", self.img) cv2.waitKey( 2) 

उदाहरण #3

def ProcessFrame(self, फ्रेम): # सेगमेंट आर्म रीजन सेगमेंट = self.SegmentArm(frame) # ड्रा करने के लिए सेगमेंटेड इमेज की एक कॉपी बनाएं ड्रा = cv2.cvtColor (सेगमेंट, cv2. COLOR_GRAY2RGB) # हाथ को सही ढंग से रखने के लिए कुछ सहायकों को आकर्षित करें cv2.circle(draw,(self.imgWidth/2,self.imgHeight/2),3,[255,102,0],2) cv2.rectangle(draw, (self.imgWidth) /3,self.imgHeight/3), (self.imgWidth*2/3, self.imgHeight*2/3), [255,102,0],2) # खंडित क्षेत्र का हल ढूंढें, और उस खोज के आधार पर # उत्तल दोष [आकृति, दोष] = स्वयं। FindHullDefects(सेगमेंट) # आकृति और उत्तल दोष के आधार पर उंगलियों की संख्या का पता लगाएं # उन दोषों को आकर्षित करें जो उंगलियों के हरे रंग से संबंधित हैं, अन्य लाल [नोफिंगर्स, ड्रॉ] = स्वयं। डिटेक्टनंबरफिंगर्स( आकृति, दोष, ड्रा) # छवि पर उंगलियों की प्रिंट संख्या cv2.putText(draw, str(nofingers), (30,30), cv2. FONT_HERSHEY_SIMPLEX, 1, (255,255,255)) वापसी ड्रा 

उदाहरण #4

def mark_hand_center(frame_in,cont): max_d=0 pt=(0,0) x,y,w,h = cv2.boundingRect(cont) ind_y in xrange(int(y+) के लिए 0.3*h),int(y+0.8*h)): # लगभग 0.25 से 0.6 ऊंचाई का क्षेत्र (ठीक परिणामों के साथ तेज़ गणना) ind_x in xrange(int(x+0.3*w),int(x+0) के लिए .6*w)): #लगभग 0.3 से 0.6 चौड़ाई का क्षेत्र (ठीक परिणामों के साथ तेज़ गणना) dist= cv2.pointPolygonTest(cont,(ind_x,ind_y),True) if(dist>max_d): max_d=dist pt= (ind_x,ind_y) अगर(max_d>radius_thresh*frame_in.shape[1]): thresh_score=true cv2.circle(frame_in,pt,int(max_d),(255,0,0),2) और: thresh_score=False वापसी फ्रेम_इन, पीटी, मैक्स_डी, थ्रेश_स्कोर # 6. जेस्चर ढूंढें और प्रदर्शित करें 

उदाहरण #5

def update(self, RadarData): self.img = np.zeros((self) .height, self.width, self.channels), np.uint8) cv2.line (self.img, (10, 0), (self.width/2 - 5, self.height), (100, 255, 255) )) cv2.line(self.img, (self.width - 10, 0), (self.width/2 + 5, self.height), (100, 255, 255)) के लिए track_number in range(1, 65) ): अगर रडार में str(track_number)+`_track_range`: track_range = रडारडेटा [str(track_number)+`_track_range`] track_angle = (float(radarData[str(track_number)+`_track_angle`])+90.0)*math. pi/180 x_pos = math.cos(track_angle)*track_range*4 y_pos = math.sin(track_angle)*track_range*4 cv2.cir cle(self.img, (self.width/2 + int(x_pos), self.height - int(y_pos) - 10), 5, (255, 255, 255)) #cv2.putText(self.img, str (track_number), # (self.width/2 + int(x_pos)-2, self.height - int(y_pos) - 10), self.font, 1, (255,255,255), 2) cv2.imshow("Radar" , self.img) cv2.waitKey(2) 


संग्रहीत संस्करण

OpenCV-Python —¬†पायथन बाइंडिंग है कंप्यूटर दृष्टि समस्याओं को हल करने के लिए पुस्तकालय।¬†cv2.circle () किसी भी छवि पर एक वृत्त खींचने के लिए प्रयोग किया जाता है।

वाक्यविन्यास: cv2.circle (छवि, center_coordinates, त्रिज्या, रंग, मोटाई)

पैरामीटर:
छवि: यह वह छवि है जिस पर वृत्त खींचा जाना है।
center_coordinates: यह वृत्त का केंद्र निर्देशांक है। निर्देशांक दो मानों के टुपल्स के रूप में दर्शाए जाते हैं ie ( X निर्देशांक मान, Y समन्वय मान)।
त्रिज्या: यह वृत्त की त्रिज्या है।
रंग: यह खींची जाने वाली वृत्त की सीमा रेखा का रंग है। BGR के लिए, हम p ass a tuple.¬†eg: (255, 0, 0) नीले रंग के लिए।
मोटाई: यह px में सर्कल बॉर्डर लाइन की मोटाई है। ¬†मोटाई -1 px द्वारा rectangle-method/">rectangle आकार को भर देगा निर्दिष्ट रंग।

वापसी मूल्य: यह एक छवि देता है।

छवि नीचे सभी उदाहरणों के लिए उपयोग की जाती है:

उदाहरण # 1:

<टेबल बॉर्डर = "0" सेलपैडिंग = "0" सेलस्पेसिंग = "0">

<कोड क्लास = "टिप्पणियां" "> # पायथन प्रोग्राम cv2.circle () विधि

 
<कोड वर्ग = "टिप्पणियां"> # cv2 आयात

<कोड वर्ग = "कीवर्ड" > आयात <कोड वर्ग = "सादा" "> cv2¬†

 
# path

पथ <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "सादा"> आर <कोड सीएल ass = "string"> `C: UsersRajnishDesktoppythonengineeringgeeks.png`

  
# डिफ़ॉल्ट मोड में छवि पढ़ें

< कोड वर्ग ="सादा "> छवि <कोड वर्ग = "कीवर्ड"> = <कोड class = "सादा"> cv2.imread (पथ)

 
# उस विंडो का नाम जिसमें छवि प्रदर्शित होती है

<कोड वर्ग = "सादा"> window_name <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "स्ट्रिंग"> `छवि` /p>

  
# केंद्र निर्देशांक

केंद्र_ निर्देशांक <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "सादा"> ( <कोड वर्ग = "मान"> 120 <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 50 <कोड वर्ग = "सादा">)

 
<कोड वर्ग = "टिप्पणियां"> # सर्कल त्रिज्या

<कोड वर्ग = "सादा"> त्रिज्या <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "मान"> 20

<कोड वर्ग = "अपरिभाषित रिक्त स्थान"> ¬†¬†
# BGR में ब्लू कलर

color = <कोड वर्ग = "सादा"> ( <कोड वर्ग = "मान"> 255 <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 0 <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 0 <कोड वर्ग = "सादा">) code>

 
# लाइन की चौड़ाई 2 px

मोटाई <कोड क्लास = "कीवर्ड"> = <कोड क्लास = "वैल्यू"> 2

 
<कोड क्लास = "टिप्पणियां"> # का उपयोग करना cv2.circle () विधि

# 2 px नीले बॉर्डर के साथ एक वृत्त बनाएं

image = cv2.circle (छवि, केंद्र_निर्देशांक, त्रिज्या, रंग, मोटाई)

 
# डिस्प्ले इमेज
cv2.imshow (window_name, इमेज)¬†

आउटपुट:

उदाहरण # 2:
-1 px का उपयोग करना rectangle-method/">rectangle को लाल रंग से भरने के लिए मोटाई.

<तालिका बॉर्डर = "0" सेलपैडिंग = "0" सेलस्पेसिंग = "0">

<कोड वर्ग = "टिप्पणियां"> # पायथन प्रोग्राम cv2.circle () विधि को समझाने के लिए

 
<कोड वर्ग = "टिप्पणियां"> # cv2 आयात

<कोड वर्ग = "कीवर्ड"> आयात <कोड वर्ग = "सादा"> cv2¬†

 
<कोड वर्ग = "टिप्पणियां"> # पथ

<कोड वर्ग = "सादा"> पथ <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "सादा"> आर <कोड वर्ग = "स्ट्रिंग"> `सी: UserRajnishDesktoppythonengineeringgeeks.png`

 
# डिफॉल्ट मोड में इमेज पढ़ें

छवि <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "सादा"> cv2.imread (पथ)

 
<कोड वर्ग = "टिप्पणियां"> # विंडो का नाम जिसमें छवि प्रदर्शित होती है

<कोड वर्ग = "सादा" > window_name <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "स्ट्रिंग"> `छवि`

<कोड वर्ग = "अपरिभाषित रिक्त स्थान">¬†¬†
<कोड वर्ग = "टिप्पणियां"> # केंद्र निर्देशांक

<कोड वर्ग = "सादा"> केंद्र_ निर्देशांक <कोड वर्ग = "कीवर्ड" > = < कोड वर्ग = "सादा"> ( <कोड वर्ग = "मान"> 120 <कोड वर्ग = " प्लेन">, <कोड क्लास = "वैल्यू"> 100 <कोड क्लास =" प्लेन ">)

<कोड क्लास = "अपरिभाषित स्पेस"> ¬†¬†
# सर्कल त्रिज्या

त्रिज्या = <कोड वर्ग ="val¬†ue "> 30

<कोड वर्ग =" अपरिभाषित रिक्त स्थान ">¬†¬†< br> # Red in BGR

color = <कोड वर्ग = "सादा"> ( <कोड वर्ग = "मान"> 0 <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 0 < /कोड> <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 255 <कोड वर्ग = "सादा">)

¬ †
# लाइन की मोटाई -1 px

मोटाई = <कोड वर्ग = "कीवर्ड"> - <कोड वर्ग = "मान"> 1

 
<कोड वर्ग = "टिप्पणियां" > # cv2.circle () विधि

# एक -1 ड्रा करें px लाल वृत्त

<कोड वर्ग = "सादा"> छवि <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "सादा"> cv2.circle (इमेज, center_coordinates, त्रिज्या, रंग, मोटाई)

< code class = "undefined space">  
# इमेज दिखाना
cv2.imshow (window_name, image ) 

 

आउटपुट:

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method