クロマキー合成
RPi 2BにUSBカメラを2台つないでクロマキー合成をやってみた。
#!/usr/bin/python import cv2 import numpy as np #capture frame size width = 320 height = 240 #chroma key color band HSV data lower_color = np.array([204/2,100,100]) upper_color = np.array([230/2,255,255]) #OpenCV HSV H:0-180,S:0-255,V:0-255 #But populer HSV H:0-360 so I use [0..360]/2 #capture device open cap = cv2.VideoCapture(0) #for object ret = cap.set(3,width) ret = cap.set(4,height) # bak = cv2.VideoCapture(1) #for background ret = bak.set(3,width) ret = bak.set(4,height) while(1): # Take each frame ret, frame = cap.read() ret, back = bak.read() # Convert BGR to HSV hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) # Threshold the HSV image to get only blue colors mask = cv2.inRange(hsv, lower_color, upper_color) inv_mask = cv2.bitwise_not(mask) # Bitwise-AND mask,inv_mask and original image res1 = cv2.bitwise_and(frame,frame,mask= inv_mask) res2 = cv2.bitwise_and(back,back,mask= mask) #compsiting disp = cv2.bitwise_or(res1,res2,mask) #show cv2.imshow('frame',frame) cv2.imshow('disp',disp) cv2.imshow('back',back) # When hit the ESC-key go to exit k = cv2.waitKey(60) if k == 27: break #close all windows cv2.destroyAllWindows()
【参考 】RGBとHSVの相互変換確認 http://www.peko-step.com/tool/hsvrgb.html