#轉換顏色空間
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...