opencv 轉換顏色空間 目標跟蹤

2021-09-10 04:24:50 字數 1430 閱讀 8692

#轉換顏色空間

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()

frame=cv2.flip(frame,1)

#轉換到hsv

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

#設定藍色閾值

blue=np.uint8([[[255,0,0]]])#三層括號分別對應cvarray,cvmat,iplimage

hsv_blue=cv2.cvtcolor(blue,cv2.color_bgr2hsv)

lower_blue=hsv_blue-30

upper_blue=hsv_blue+30

#設定紅色色閾值

red=np.uint8([[[0,0,255]]])#三層括號分別對應cvarray,cvmat,iplimage

hsv_red=cv2.cvtcolor(red,cv2.color_bgr2hsv)

lower_red=hsv_red-50

upper_red=hsv_red+50

#設定綠色色閾值

green=np.uint8([[[0,255,0]]])#三層括號分別對應cvarray,cvmat,iplimage

hsv_green=cv2.cvtcolor(green,cv2.color_bgr2hsv)

lower_green=hsv_green-30

upper_green=hsv_green+30

#建立掩模

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

maskr=cv2.inrange(hsv,lower_red,upper_red)

maskg=cv2.inrange(hsv,lower_green,upper_green)

mask=np.bitwise_or(maskb,maskr)

mask=np.bitwise_or(maskg,mask)

#位運算

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

#顯示影象

cv2.imshow('frame',frame)

cv2.imshow('mask',mask)

cv2.imshow('res',res)

k=cv2.waitkey(10)

if k==ord('q'):

break

cv2.destroyallwindows()

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 顏色空間轉換(Python實現)

轉換顏色空間 最常用的兩種顏色空間方法 bgr gray和bgr hsv。cv2.cvtcolor input image,flag input image 轉換的影象 flag 轉換型別 對於 bgr gray 的轉換,我們要使用的 flag 就是cv2.color bgr2gray。對於 bgr...