使用工具python3.5
使用包cv2,numpy
涉及函式cv2.cvtcolor(),cv2.inrange()
import cv2
import numpy as np
cap = cv2.videocapture(0)
while(1
):#獲取每一幀
ret,frame = cap.read(
)#轉換到hsv
hsv = cv2.cvtcolor(frame,cv2.color_bgr2hsv)
#設定藍色的閥值
lower_blue = np.array(
[110,50
,50])
upper_blue = np.array(
[130
,255
,255])
#根據閥值構建掩模
mask = cv2.inrange(hsv,lower_blue,upper_blue)
#對原圖和掩模進行位運算
res = cv2.bitwise_and(frame,frame,mask=mask)
#顯示影象
cv2.imshow(
'frame'
,frame)
cv2.imshow(
'mask'
,mask)
cv2.imshow(
'res'
,res)
k = cv2.waitkey(5)
&0xff
if k ==27:
break
#關閉視窗
cv2.destroyallwindows(
)
追蹤物體輪廓,以後可以找物體中心,然後跟蹤物體,可以在攝像頭前揮揮手就可以畫圖等一些有趣的事
在終端輸入以下命令:
import cv2
import numpy as np
⚠️//不能用 [0,255,0] 而用 [[[0,255,0]]]
//的三層括號應分別對應於 cvarray cvmat iplimage
green=np.uint8([0,255,0])
hsv_green=cv2.cvtcolor(green,cv2.color_bgr2hsv)
print (hsv_green )
[[[60 255 255]]]
現在你可以分別用 [h-100,100,100] 和 [h+100,255,255] 做上下閥值。但是後別忘了調節 hsv 的範圍。
一般對顏色空間的影象進行有效處理都是在hsv空間進行的,然後對於基本色中對應的hsv分量需要給定乙個嚴格的範圍,下面是通過實驗計算的模糊範圍(準確的範圍在網上都沒有給出)。
h: 0 — 180
s: 0 — 255
v: 0 — 255
此處把部分紅色歸為紫色範圍:
opencv顏色空間轉換
使用工具python3.5 使用包cv2,numpy 涉及函式cv2.cvtcolor cv2.inrange 在 opencv 中有 超過150 種進行顏色空間轉換的方法。但是你以後就會發現我們經常用到的也就兩種 bgr gray 和 bgr hsv。我們用到的函式是cv2.cvtcolor in...
opencv 轉換顏色空間 目標跟蹤
轉換顏色空間 import cv2 import numpy as np flags i for i in dir cv2 if i.startswith color print flags cap cv2.videocapture 0 while 1 ret,frame cap.read fram...
OpenCV 顏色空間轉換(Python實現)
轉換顏色空間 最常用的兩種顏色空間方法 bgr gray和bgr hsv。cv2.cvtcolor input image,flag input image 轉換的影象 flag 轉換型別 對於 bgr gray 的轉換,我們要使用的 flag 就是cv2.color bgr2gray。對於 bgr...