python opencv 檢測特定顏色


import cv2
import numpy as np

cap = cv2.VideoCapture(0)

# set blue thresh 設置HSV中藍色、天藍色范圍
lower_blue = np.array([78,43,46])
upper_blue = np.array([110,255,255])

while(1):
    # get a frame and show 獲取視頻幀並轉成HSV格式, 利用cvtColor()將BGR格式轉成HSV格式,參數為cv2.COLOR_BGR2HSV。
    ret, frame = cap.read()
    cv2.imshow('Capture', frame)
    # change to hsv model
    hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)

    # get mask 利用inRange()函數和HSV模型中藍色范圍的上下界獲取mask,mask中原視頻中的藍色部分會被弄成白色,其他部分黑色。
    mask = cv2.inRange(hsv, lower_blue, upper_blue)
    cv2.imshow('Mask', mask)

    # detect blue 將mask於原視頻幀進行按位與操作,則會把mask中的白色用真實的圖像替換:
    res = cv2.bitwise_and(frame, frame, mask=mask)
    cv2.imshow('Result', res)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM