OpenCV – parametres de cameras

l’utilisation de camera USB ou de PIcamera avec Open CV peut necessiter de regler les parametres video tels que taille d’image, debit d’image , luminosité, contraste, saturation, etc ..

voyons avec un petit programme python comment faire ce type de reglage .

le programme ci dessous permet de regler les parametres classiques : luminosite , contraste, saturation, teinte d’une petite camera USB 640×480 ou d’une PIcam.

import cv2

cap1=cv2.VideoCapture(1) #sortie 1 Webcam USB
USBcamwin="USBcam"  # nom de la fenetre Webcam

while True:
    ret, frame1 = cap1.read()
    cap1.set(10,60) #luminosité
    cap1.set(11,60) #contraste
    cap1.set(12,60) #saturation
    cap1.set(13,60) #teinte
    cv2.imshow(USBcamwin, frame1)
    key=cv2.waitKey(1)
    if key & 0xFF == ord('q'):
        cv2.destroyAllWindows   
        break

la liste des parametres complets est disponible ici : flags video

la structure du paramètre est la suivante: cap1. set ( n° flag , valeur )

on trouve la liste des valeurs de flag dans le lien au dessus , les plus courants sont les suivants:

  • 10 = luminosité
  • 11 = contraste
  • 12 = saturation
  • 13 = teinte
  • 14 = gain
  • 20 = finesse
  • 22 = gamma
  • 30 = ISO

pour la valeur du parametre , il n’y a malheureusement pas de regle, elle depends de la camera utilisée , par exemple pour une PIcam :

  • luminosité: de 0 a 100
  • contrast de -100 a 100
  • saturation de -100 a 100

en fonction de votre camera , il vous faudra donc faire soit une recherche sur le web soit tout simplement faire des essais .

et comme souvent , vous pourrez par exemple associer les valeurs a des parametres pilotés par des sliders ou des widgets TKinter au travers d’une fenetre de menu comme dans la vignette de cette page.