python 攝像頭的圓的捕捉

2021-10-01 23:43:43 字數 1951 閱讀 8938

import cv2

import numpy as np

def ball_detect_possible_demo(image):

gray = cv2.cvtcolor(image, cv2.color_bgr2gray)

#image = cv2.circle(image, (640, 360), 50, (0, 0, 255), 1, 8, 0)

circles = cv2.houghcircles(gray, cv2.hough_gradient, 1, 50, param1=100, param2=50, minradius=50, maxradius=200)

if circles is none:

return image

for circle in circles[0]:

# 圓的基本資訊

print(circle[2])

# 座標行列(就是圓心)

x = int(circle[0])

y = int(circle[1])

# 半徑

r = int(circle[2])

# 在原圖用指定顏色圈出圓,引數設定為int所以圈畫存在誤差

image = cv2.circle(image, (x, y), r, (0, 0, 255), 1, 8, 0)

center:圓心位置

radius:圓的半徑

color:圓的顏色

thickness:圓形輪廓的粗細(如果為正)。負厚度表示要繪製實心圓。

linetype: 圓邊界的型別。

shift:中心座標和半徑值中的小數字數。"""

return image

def ball_detection(image):

#自由發揮的預留地

gray = cv2.cvtcolor(image, cv2.color_bgr2gray)

circles = cv2.houghcircles(gray, cv2.hough_gradient, 1, 50, param1=100, param2=50, minradius=50, maxradius=200)

if circles is none:

return image

for circle in circles[0]:

# 圓的基本資訊

print(circle[2])

# 座標行列(就是圓心)

x = int(circle[0])

y = int(circle[1])

# 半徑

r = int(circle[2])

# 在原圖用指定顏色圈出圓,引數設定為int所以圈畫存在誤差

image = cv2.circle(image, (x, y), r, (0, 0, 255), 1, 8, 0)

center:圓心位置

radius:圓的半徑

color:圓的顏色

thickness:圓形輪廓的粗細(如果為正)。負厚度表示要繪製實心圓。

linetype: 圓邊界的型別。

shift:中心座標和半徑值中的小數字數。"""

return image

cap = cv2.videocapture(0)

while true:

ret, frame = cap.read()

while ret is 0:

ret, frame = cap.read()

if ret is not 0:

break

frame = ball_detect_possible_demo(frame)

if cv2.waitkey(1) & 0xff == ord('q'):

break

cap.release()

cv2.destroyallwindows()

為接下來的目標檢測做一點點小鋪墊

Python呼叫攝像頭

如下 import cv2 import numpy 建立攝像頭物件 cap cv2.videocapture videotest test1.mp4 cap cv2.videocapture 0 引數為本地攝像頭 cap cv2.videocapture 1 引數為usb攝像頭 while 1 r...

旋轉的攝像頭

這幾天熟悉了一下entity,scenemanager,scenenode。自己可以簡單的實現了站立的robot和ninja,總感覺靜態的場景不好玩,想做一下動態的場景,由於本人目前是初學者,所以也就只能做做關鍵幀動畫,骨骼動畫就留在後面實現吧,hoho 定義乙個10秒種的動畫,這個動畫包含乙個動畫...

Linux (多攝像頭)如何執行指定的攝像頭

lz原來一直都是用的筆記本的攝像頭,結果標定的時候快趴地上了,可能是實在看不過去了,師兄給了乙個攝像頭,這樣相當於有兩個攝像頭,但是怎麼開啟指定的攝像頭呢?第乙個,安裝乙個軟體 sudo apt get install cheese安裝好了?哈哈,然後直接執行在終端中輸入 cheese就直接開啟筆記...