Metoda OpenCV w Pythonie | cv2.koło()

| | | | | | | | | | |

OpenCV-Python to biblioteka linków Pythona zaprojektowana do rozwiązywania problemów z widzeniem komputerowym. Metoda cv2.circle () służy do rysowania okręgu na dowolnym obrazie.

Składnia: cv2.circle(obraz, współrzędne_środka, promień, kolor, grubość)
Parametry: 
obraz: jest to obraz, na którym ma zostać narysowany okrąg. 
współrzędne_środka: To współrzędne środka okręgu. Współrzędne są reprezentowane jako krotki dwóch wartości, tj. (wartość współrzędnej X, wartość współrzędnej Y). 
promień: jest promień okręgu. 
kolor: jest to kolor linii granicznej okręgu, który ma zostać narysowany. W przypadku BGR przekazujemy krotkę. np.: (255, 0, 0) dla koloru niebieskiego. 
grubość: jest to grubość linii obramowania okręgu w px. Grubość -1 piks. wypełni kształt koła określonym kolorem.
Wartość zwracana: zwraca obraz. 
 

Jak narysować okrąg na obrazie OpenCV?

Pytanie StackOverflow

Używam Pythona i opencv, aby uzyskać obraz z kamery internetowej, i chcę wiedzieć, jak narysować okrąg nad moim obrazem, tylko proste zielone kółko z przezroczystym wypełnij

wprowadź opis obrazu tutaj

mój kod:

import cv2 import numpy import sys if __name__ == `__main__`: #pobierz bieżącą klatkę z kamery internetowej cam = cv2. VideoCapture(0) img = cam.read() #jak narysować okrąg????  cv2.imshow(`Kamera internetowa`, img) cv2.waitKey() 

Z góry dziękuję.

Odpowiedź

cv2.circle(img, środek, promień, kolor, grubość= 1, lineType=8, shift=0) „Üí Brak Rysuje okrąg. Parametry: img (CvArr) – Obraz, w którym okrąg jest narysowany w środku (CvPoint) – Środek promienia okręgu ( int) – Promień koloru okręgu (CvScalar) – Grubość koloru okręgu (int) – Grubość konturu okręgu jeśli jest dodatni, w przeciwnym razie oznacza to, że wypełnione koło należy narysować lineType (int ) — Typ obwiedni okręgu, patrz Przesunięcie opisu linii (int) — Liczba bitów ułamkowych w współrzędnych środka i wartości promienia 

Użyj parametru "grubość" tylko dla krawędzi.

Przykład #1

def blob(x): """Mając macierz Nx3 pozycji i rozmiaru blobu, utwórz N img_size x obrazy img_size, każdy z blob narysowany na nich podana przez wartość w każdym wierszu x Jeden wiersz x = [x,y,promień].""" y = np.zeros((x.shape[0], img_size, img_size)) dla i , cząstka w enumerate(x): rr, cc = skimage.draw.circle( cząstka[0], cząstka[1], max(cząstka[2], 1), kształt=(img_rozmiar, img_rozmiar) ) y[i, rr, cc] = 1 return y #%% # nazwy (jest to na razie tylko odniesienie!) 

Przykład #2

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. wysokość), (100, 255, 255)) cv2.line(self.img, (self.width - 10, 0), (self.width/2 + 5, self.height), (100, 255, 255) ) for track_number in range (1, 65): if str(track_number)+`_track_range` in radarData: track_range = radarData[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) 

Przykład #3

def ProcessFrame(self, frame): # segment ramienia region segment = self.SegmentArm(frame) # wykonaj kopię podzielonego obrazu do rysowania draw = cv2.cvtColor(segment, cv2. COLOR_GRAY2RGB) # narysuj pomocników do prawidłowego ułożenia ręki 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) # znajdź kadłub segmentu i na podstawie tego znajdź # wady wypukłości [contours,defects] = self.FindHullDefects(segment) # wykrywa liczbę palców w zależności od konturów i wad wypukłości # rysuj wady należące do palców zielone, inne czerwone [nofingers,draw] = self.DetectNumberFingers( kontury, defekty, rysuj) # drukuj ilość palców na obrazku cv2.putText(rysuj, str(nofingers), (30,30), cv2. FONT_HERSHEY_SIMPLEX, 1, (255,255,255)) return rysuj 

Przykład #4

def mark_hand_center(frame_in,cont): max_d=0 pt=(0,0) x,y,w,h = cv2.boundingRect(cont) for ind_y w xrange(int(y+ 0.3*h),int(y+0.8*h)): #około 0.25 do 0.6 regionu wysokości (szybsze obliczenia z dobrymi wynikami) dla ind_x w xrange(int(x+0.3*w),int(x+0 .6*w)): #około 0,3 do 0,6 regionu szerokości (szybsze obliczenia z dobrymi wynikami) dist= cv2.pointPolygonTest(cont,(ind_x,ind_y),True) if(dist>max_d): max_d=dist pt= (ind_x,ind_y) if(max_d>radius_thresh*frame_in.shape[1]): thresh_score=True cv2.circle(frame_in,pt,int(max_d),(255,0,0),2) else: thresh_score=False return frame_in,pt,max_d,thresh_score # 6. Znajdź i wyświetl gest 

Przykład #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)) dla numeru ścieżki w zakresie (1, 65 ): if str(track_number)+`_track_range` in radarData: track_range = radarData[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 (numer_ścieżki), # (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) 


Wersja archiwalna

OpenCV-Python —¬†to powiązania Pythona biblioteka do rozwiązywania problemów widzenia komputerowego.¬†cv2.circle () służy do rysowania okręgu na dowolnym obrazie.

Składnia: cv2.circle (obraz, współrzędne_środka, promień, kolor, grubość)

Parametry:
obraz: Jest to obraz, na którym ma być narysowany okrąg.
współrzędne_centrum: Są to współrzędne środka okręgu. ¬†Współrzędne są reprezentowane jako krotki dwóch wartości „Ęã‚Ęãie ( X współrzędna, Y współrzędna).
promień: Jest to promień okręgu.
kolor: Jest to kolor linii granicznej koła, które należy narysować. ¬†Dla BGR my p jako krotkę.¬†eg: (255, 0, 0) dla koloru niebieskiego.
grubość: Jest to grubość linii obramowania koła w px . ¬†Grubość -1 piksel wypełni rectangle-method/">prostokąt przez określony kolor.

Wartość zwrotu: Zwraca obraz.

Obraz jest używany we wszystkich poniższych przykładach:

Przykład nr 1:

# Program w Pythonie wyjaśniający metodę cv2.circle ()

 
# import cv2

import cv2 

 
# ścieżka

ścieżka = r `C: UsersRajnishDesktoppythonengineeringgeeks.png`

  
# Odczytaj obraz w trybie domyślnym

obraz = cv2.imread (ścieżka)

 
# Nazwa okna, w którym wyświetlany jest obraz

window_name = `Image`

  
# Współrzędne środka

współrzędne_centryczne = ( 120 , 50 )

 
# Promień okręgu

promień = 20

  
# Niebieski kolor w BGR

kolor = ( 255 , 0 , 0 )

 
# Szerokość linii 2 piks

grubość = 2

 
# cv2.circle () metoda
# Narysuj okrąg z niebieskim obramowaniem 2 px

obraz = cv2.circle (obraz, współrzędne_centrum, promień, kolor, grubość)

 
# Wyświetl obraz
cv2.imshow (window_name, image) 

Wyjście:

Przykład nr 2:
Przy użyciu -1 piks. grubość, aby wypełnić rectangle-method/">prostokąt kolorem czerwonym.

# Program Pythona wyjaśniający metodę cv2.circle ()

 
# import cv2

importuj cv2 

 
# ścieżka

ścieżka = r `C: UsersRajnishDesktoppythonengineeringgeeks.png`

 
# Odczytaj obraz w trybie domyślnym

obraz = cv2.imread (ścieżka)

 
# Nazwa okna, w którym wyświetlany jest obraz

window_name = `Obraz`

  
# Współrzędne środka

współrzędne_centrum = ( 120 , 100 )

  
# Promień okręgu

promień = 30

  < br> # Czerwony w BGR

color = ( 0 , 0 , 255 )

¬ †
# Grubość linii -1 piks

grubość = - 1

 
# Korzystanie z cv2.circle () metoda
# Narysuj -1 px czerwone kółko

obraz = cv2.circle (obraz, współrzędne_centrum, promień, kolor, grubość)

< code class = "niezdefiniowane spacje">  
# Wyświetlanie obrazu
cv2.imshow (nazwa_okna, obraz ) 

 

Wyjście:

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

News


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