โค้ด: เลือกทั้งหมด
cv2.inRange(hsv,ค่าสี HSV ช่วงเริ่มต้น , ค่าสี HSV ช่วงสิ้นสุด)
โค้ด: เลือกทั้งหมด
cv2.bitwise_and(cv2.bitwise_and(src1, src2[, dst[, mask]]))
src2 - ชุดข้อมูลที่สอง
dst - ชุดข้อมูลผลลัพธ์ที่มีขนาดและชนิดเดียวกันเป็นชุดข้อมูลสำหรับการป้อนค่า
mask – เป็นเหมือนหน้ากากที่รับค่ามารวมด้วย
คำสั่งนี้ส่วนใหญ่มักจะนำเฟรมปกติกับเฟรมจากคำสั่ง cv2.inRange() มารวมกันเพื่อเปรียบเทียบกับสีจริงครับ
ตัวอย่างการเขียนโปรแกรมตรวจจับช่วงสีเหลืองด้วย OpenCV กับ Python
โค้ด: เลือกทั้งหมด
import cv2
import numpy as np
cap = cv2.VideoCapture(0) # รับวิดีโอจากกล้อง
while(1):
# รับข้อมูลจากเว็บแคม
_, frame = cap.read()
# แปลงสี BGR ไปยัง HSV
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
# ช่วงของสีเหลืองในระบบ HSV
lower_yellow = np.array([10,100,100], dtype=np.uint8)
upper_yellow = np.array([30,255,255], dtype=np.uint8)
# จำกัดภาพ HSV รับเฉพาะสีเหลิอง
yellow = cv2.inRange(hsv, lower_yellow, upper_yellow)
# Bitwise-AND mask และภาพต้นฉบับ
mask = cv2.bitwise_and(frame,frame, mask= yellow)
cv2.imshow('frame',frame)
cv2.imshow('yellow',yellow)
cv2.imshow('mask',mask)
k = cv2.waitKey(5) & 0xFF
if k == 27:
break
cv2.destroyAllWindows()
สามารถเลือกค่าสี HSV ได้เพิ่มเติมที่นี่ http://www.workwithcolor.com/red-color-hue-range-01.htm