python opencv顏色識別,圓檢測。

2021-10-19 08:58:33 字數 1793 閱讀 1725

import cv2

import numpy as np

cap = cv2.videocapture(0)

while(1

):# take each frame

_, frame = cap.read(

) frame1=frame.copy(

)# 將影象轉換到 hsv 空間

hsv = cv2.cvtcolor(frame, cv2.color_bgr2hsv)

# 設定 hsv 閾值到藍色範圍。

lower_blue = np.array([0

,80,50

])#最低 upper_blue = np.array([0

,255

,255])

#最高# 設定閾值影象中只出現藍色範圍的物件

mask = cv2.inrange(hsv, lower_blue, upper_blue)

mask1=mask.copy(

) mask2 = mask.copy(

)# bitwise-and mask and original image

res = cv2.bitwise_and(frame,frame, mask= mask)

#這個是有顏色的

res1=cv2.cvtcolor(res,cv2.color_hsv2bgr)

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

#灰度化

img = cv2.gaussianblur(gray,(3

,3),

0)# 高斯模糊

cimg = cv2.cvtcolor(img, cv2.color_gray2bgr)

circles = cv2.houghcircles(img, cv2.hough_gradient,1,

20, param1=

200, param2=

30, minradius=

0, maxradius=0)

# 霍夫梯度法

if circles is

notnone

:for i in circles[0,

0:1]

: cv2.circle(cimg,

(int

(i[0])

,int

(i[1])

),int(i[2]

),(0

,255,0

),2)

cv2.circle(cimg,

(int

(i[0])

,int

(i[1])

),2,

(0,255,0

),2)

''''

'' cv2.imshow(

'frame'

,frame)

#展示 cv2.imshow(

'mask'

,mask)

#展示掩碼

cv2.imshow(

'res'

,res)

#利用掩碼進行與操作

cv2.imshow(

'image'

, cimg)

# 利用掩碼進行與操作

k = cv2.waitkey(5)

&0xff

if k ==27:

break

cv2.destroyallwindows(

)

效果是檢測紅色的圓圈,畫乙個圓和其圓心

python opencv 更改顏色空間

色彩轉換,我們使用函式cv2.cvtcolor input image,flag 這裡flag決定轉換的型別 import numpy as np import cv2 對於bgr gray轉換我們使用標誌位 cv2.color bgr2gray。而對bgr hsv來說類似,我們使用cv2.colo...

python opencv檢測目標顏色

coding utf 8 author kingking version 1.0 date 14 07 2017 import cv2 import numpy as np import time if name main img cv2.imread example.png 讀入一幅影象 kern...

Python OpenCV學習(六)改變顏色空間

影象顏色空間的轉換,例如 bgr圖與灰度圖轉換,bgr圖與hsv轉換等。最常用的顏色空間轉變是 bgr圖與灰度圖轉換,bgr圖與hsv轉換 我們用函式cv.cvtcolor input image,flag 來進行顏色轉換,flag決定轉換的型別。bgr轉gray用的flag是cv.color bg...