Este módulo ayuda a comprender la distribución de colores en opencv, devuelve el valor rgb y lo muestra en la esquina superior izquierda de la pantalla
importar números como np importar matemáticas importar cv2 tiempo de importación ix= 1 iy= 1 f=[] a= 1 b= 1 c= 1 ixx= 1 iyy= 1 def nada( x ): pasar def onmouse(event,x,y , banderas , param ): global ix,iy,f,a,b,c,ixx,iyy if event==cv2.EVENT_MOUSEMOVE: #frame[y,x].tolist() #print(frame[y,x] ) f= lista(fotograma[y,x]) ix=x iy=y a=f[ 0 ] b=f[ 1 ] c=f[ 2 ] if event==cv2.EVENT_LBUTTONDBLCLK: ixx=x iyy=y cap = cv2. VideoCapture( 0 ) #Abrir cámara 0 var = cv2.CAP_PVAPI LowerRed = np.array([ 24 , 75 , 37 ]) #Crear una barra de desplazamiento que cambia de color # cv2.namedWindow("fps") #Crear una nueva ventana # cv2.createTrackbar('R','fps',89,255,nada) # quiero rastrear el valor R del color # cv2.createTrackbar('G','fps',254,255,nada) #Quiero rastrear el valor G del color # cv2.createTrackbar('B','fps',254,255,nada) #Quiero rastrear el B valor del color cv2.createTrackbar( 'umbral' , 'fps' , 19 , 255 ,nada) #umbral de binarización while ( 1 ): # asignación del control deslizante r= int (a) g= int (b) b= int (c ) #c = cv2.getTrackbarPos('umbral', 'fps') #UpperRed = np.array([r, g, b]) ret, frame = cap.read() # obtener cada cuadro imgHSV=cv2.cvtColor(fotograma,cv2.COLOR_RGB2HSV) cv2.setMouseCallback( 'fps' ,onmouse) #print(ix,iy) cv2.rectangle(fotograma, ( 10 , 10 ), ( 100 , 50 ), (r, g, b), 3 ) cv2.line(marco,(ixx, 0 ),(ixx, 700 ),( 255 , 0 , 0 ), 3 ) cv2.line(marco, ( 0 , iyy), ( 700 , iyy), ( 255 , 0 , 0 ), 3 ) cv2.imshow( "fps" , marco) #print(a[1]) cv2.imshow( "imgHSV" ,imgHSV) if cv2.waitKey ( 1 ) & 0xFF == ord ( 'q' ): #presione q para guardar una imagen #cv2.imwrite ("E:\cpy\pictures\\pic.jpg", frame1) break cap.release() cv2.destroyAllWindows()
La esquina superior izquierda mostrará el color del puntero del mouse (el puntero no aparece en la captura de pantalla, pero lo está)