import numpy as np
import cv2

def hsvcolor(img,XC,YC,R):
    Lx=img.shape[1]; Ly=img.shape[0]; #XC=int(Lx/2); YC=int(Ly/2); R=Lx//40; 
    img1=np.copy(img)
    x1=XC-R; x2=XC+R; y1=YC-R; y2=YC+R
    img2=img[y1:y2,x1:x2,:]
    cv2.rectangle(img1,(x1,y1),(x2,y2),(255,255,255),4)
    h=[0,0,0]
    hsv=cv2.cvtColor(img2, cv2.COLOR_BGR2HSV)
    for i in range(3): h[i]=int(np.average(hsv[:,:,i]))
    return h,img1

if __name__ == '__main__':
    from time import sleep
    Lx=640; Ly=480; XC=int(Lx/2); YC=int(Ly/2); R=Lx//40; 
    print((Lx,Ly,XC,YC,R))
    cap=cv2.VideoCapture(0)
    cap.set(cv2.CAP_PROP_FRAME_WIDTH, Lx)
    cap.set(cv2.CAP_PROP_FRAME_HEIGHT, Ly)
    sleep(2)
    for t in range(10):
        ret,img=cap.read(); 
        if(ret==False): print('ret=',ret); break
        h,img1=hsvcolor(img)
        print(t,h)
        cv2.imshow('img1',img1)
        if cv2.waitKey(1000) & 0xFF == ord('q'): break
        #cv2.waitKey(0)


