轉換顏色空間
最常用的兩種顏色空間方法 :bgr–gray和bgr–hsv。
cv2.cvtcolor(input_image, flag)
input_image 轉換的影象在 opencv 的 hsv 格式中, h(色彩/色度)的取值範圍是 [0, 179],s(飽和度)的取值範圍 [0, 255], v(亮度)的取值範圍 [0, 255]。但是不同的軟體使用的值可能不同。所以當你需要拿 opencv 的 hsv 值與其他軟體的 hsv 值進行對比時,一定要記得歸一化。flag 轉換型別
對於 bgr-gray 的轉換,我們要使用的 flag 就是cv2.color_bgr2gray。
對於 bgr-hsv 的轉換,我們用的 flag 就是cv2.color_bgr2hsv。
物體跟蹤
import cv2
import numpy as np
cap = cv2.videocapture(0)
while(true):
ret, frame = cap.read()#獲取影象
# 轉換到 hsv
hsv=cv2.cvtcolor(frame,cv2.color_bgr2hsv)
# 設定橙色的閾值
lower_blue=np.array([0,50,50])
upper_blue=np.array([20,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)
if cv2.waitkey(1) & 0xff == ord('q'):#監測到鍵盤輸入q關閉
break
cap.release()#釋放攝像頭
cv2.destroyallwindows()#關閉視窗
找到跟蹤物件的hsv值
我們要找到綠色的 hsv 值,我們只需在終端輸入以下命令:
green=np.uint8([[[0,255,0]]]) #獲取綠色
hsv_green=cv2.cvtcolor(green,cv2.color_bgr2hsv) #轉換
print (hsv_green)
[[[ 60 255 255]]]
opencv顏色空間轉換
使用工具python3.5 使用包cv2,numpy 涉及函式cv2.cvtcolor cv2.inrange 在 opencv 中有 超過150 種進行顏色空間轉換的方法。但是你以後就會發現我們經常用到的也就兩種 bgr gray 和 bgr hsv。我們用到的函式是cv2.cvtcolor in...
open CV顏色空間轉換
使用工具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 h...
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...