Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/07/2008, à 14:18

erlik

[HowTo] regler la qualité d'image d'une webcam utlisant gspca

Hello

Certains d'entre vous se sont sans doute deja énervé deva,t la pietre qualité de l'image de leur webcam: trop de vert ou de rouge, pas assez de luminosité etc... Et en plus, il est tres difficile de la reglé. ( En tt cas, perso, j'ai jamais réussi en graphique .... )
Voici un petit truc pour arranger ça, voici un petit truc, a faire en console: - allez dans le dossier /sys/module/gspca/parameter/

cd /sys/module/gspca/parameters/

là, listez les documents qui s'y trouvent

ls ./

ils gerent les differents parametres de la cam: les teints d rouge, bleu et vert, la luminosité, la frequence etc
pour avoir le descriptif complet, il suffit de faire modinfo gspca | grep parm :

$ modinfo gspca | grep parm 
parm:           autoexpo:Enable/Disable auto exposure (default=1: enabled) (PC-CAM 600/Zc03xx/spca561a/Etoms Only !!!) (int)
parm:           debug:Debug level: 0=none, 1=init/detection, 2=warning, 3=config/control, 4=function call, 5=max (int)
parm:           force_rgb:Read RGB instead of BGR (int)
parm:           gamma:gamma setting range 0 to 7 3-> gamma=1 (int)
parm:           OffRed:OffRed setting range -128 to 128 (int)
parm:           OffBlue:OffBlue setting range -128 to 128 (int)
parm:           OffGreen:OffGreen setting range -128 to 128 (int)
parm:           GRed:Gain Red setting range 0 to 512 /256  (int)
parm:           GBlue:Gain Blue setting range 0 to 512 /256  (int)
parm:           GGreen:Gain Green setting range 0 to 512 /256  (int)
parm:           compress:Turn on/off compression (not functional yet) (int)
parm:           usbgrabber:Is a usb grabber 0x0733:0x0430 ? (default 1)  (int)
parm:           lightfreq:Light frequency banding filter. Set to 50 or 60 Hz, or 0 for NoFlicker (default=50) Zc03xx only (int)
parm:           force_gamma_id:Forced assigning ID of contrast settings (0=default,1,2,3) Zc03xx only (int)
parm:           force_sensor_id:Forced assigning ID sensor (Zc03xx only). Dangerous, only for experts !!! (int)

Nous allons maintenant prendre un exemple: la cam marche, la couleur est correcte ( ...) mais on dirait que vous etes au milieu d'une grotte alors qu'il fait plain jour ............
Dans ce cas, on va reglé de gamma. Faites sudo nano gamma pour l'editer. Vous avez une valeur de 3. C'est pas assez, on va mettre 5. on enregistre et on teste anec camorama ( ou autre ) et là, miracle, et la lumiere fut !!! big_smile

En general, il faut un peut tatonner avant de trouver les bons reglages. Je vous conseille donc de faire des sauvegardes des fichiers

En esperant que ça vous servira big_smile

EDIT 1:
Creation d'un script graphique pour reasliser les modifs

EDIT 2:
MaJ du script , pour verifier s'il est bien lancé en root

EDIT 3:

Cette technique est obsolete. Passer par l'edition de /etc/modprobe.d/options  est bien plus efficace.
Le script a été adapté pour cela.

Dernière modification par erlik (Le 06/09/2008, à 14:44)


Je ne suis pas un geek! Je suis un être humain!

Hors ligne

#2 Le 13/07/2008, à 15:32

erlik

Re : [HowTo] regler la qualité d'image d'une webcam utlisant gspca

En prime, je vien de faire un outil graphique pour regler tout ça !! big_smile
voici le code, a executer en root, bien sur... :

#!/bin/sh


if [ -d /sys/module/gspca/parameters ]; then

DEFAULT_WEBCAM_APP=camorama

  if [ ! -f /usr/bin/${DEFAULT_WEBCAM_APP} ]; then
    echo " - programme ${DEFAULT_WEBCAM_APP} absent "
    
    zenity --info --title="Application tierce absente" --text="L'application ${DEFAULT_WEBCAM_APP}, utilisée pour tester l'image de votre webcam, est absente. Elle va maintenant être installée "
    
    apturl apt://${DEFAULT_WEBCAM_APP}

  fi

  zenity --question --title="Tester l'image ?" --text="Voudriez-vous l'image de la webcam apres la modification de chaque paramettre ?"
  
  if [ $? = "0" ]; then
    WEBCAM_TEST=true
  else 
    WEBCAM_TEST=false
  fi 
 


  cd /sys/module/gspca/parameters
  
  
  while true ; do


    LIST_FILE=""
    for i in `ls `
      do
        LIST_FILE="${LIST_FILE} FALSE ${i}"
      done
  
      SELECT_FILE=$(zenity --list --radiolist --height=300 --width=350 --title="" --text="Selectionnez une option à modifier" --column="" --column="Option" ${LIST_FILE} )
    
      if [ $? = "0" ]; then
    
        case ${SELECT_FILE} in 
        
        
        "autoexpo")
          DESC="Active/Desactive l'auto-exposition\n - 0=désactivé\n - 1=activé"
          MIN="0"
          MAX="1"
          DEF="0"
        ;;
        
        
        "debug")

          DESC="Niveau de debugage\n - 0=none\n - 1=init/detection\n - 2=warning\n - 3=config/control\n - 4=function call\n - 5=max"
          MIN="0"
          MAX="5"
          DEF="0"
        ;;
        
        "force_rgb")
          DESC="Force l'utilisation du RGB ç la place du BGR\n - 0=désactivé\n - 1=activé"
          MIN="0"
          MAX="1"
          DEF="0"
        ;;
        
        
        "gamma")
          DESC="Valeur du gamma"
          MIN="0"
          MAX="7"
          DEF="3"
        ;;  
        
        "OffRed")  
          DESC="Valeur de l'OffRed, de -128 à 128 (int)"
          MIN="-128"
          MAX="128"
          DEF="0"
        ;;
        
        "OffBlue")
          DESC="Valeur de l'OffBlue, de -128 à 128 (int)"
          MIN="-128"
          MAX="128"
          DEF="0"
        ;;
        
        "OffGreen")          
          DESC="Valeur de l'OffGreen, de -128 à 128 (int)"
          MIN="-128"
          MAX="128"
          DEF="0"
        ;;
        
        "GRed")          
          DESC="Valeur du gain de rouge, de 0 à 512 /256  (int)"
          MIN="0"
          MAX="512"
          DEF="256"
        ;;
        
        "GBlue")
          DESC="Valeur du gain de bleu, de 0 à 512 /256  (int)"
          MIN="0"
          MAX="512"
          DEF="256"
        ;;
        
        "GGreen")
          DESC="Valeur du gain de vert, de 0 à 512 /256  (int)"
          MIN="0"
          MAX="512"
          DEF="256"
        ;;
        
        "compress")
          DESC=":Active/Desactive la compression\n - 0=désactivé\n - 1=activé\n ATTENTION: NON FONCTIONNEL"
          MIN="0"
          MAX="1"
          DEF="0"
        ;;  
        
        "usbgrabber")
          DESC="Is a usb grabber 0x0733:0x0430 ? (default 1)  (int)"
          MIN="0"
          MAX="1"
          DEF="0"
        ;;  
        
        "lightfreq")
          DESC="Filtre de frequence de la lumière\n - 0 = désactivé\n - 50 = Fréquence americaine\n - 60 = Fréquence européenne \nPOUR WEBCAM Zc03xx SEULEMENT"
          MIN="0"
          MAX="60"
          DEF="50"
        ;;
        
        "force_gamma_id")
          DESC="Force l'assignation d'un ID pour la variable de contraste  settings (0=default,1,2,3)\nPOUR WEBCAM Zc03xx SEULEMENT"
          MIN="0"
          MAX="3"
          DEF="0"
        ;;
        
         "force_sensor_id")
           DESC="Force l'assignation d'un ID sensor (Zc03xx only)\nPOUR WEBCAM Zc03xx SEULEMENT\nATTENTION: DANGEUREUX, POUR EXPERT SEULEMENT"
          MIN="0"
          MAX="1"
          DEF="0"
        ;;
           
        *)
           break
        ;; 
  
      esac
        
     OPTION_VALUE=$(zenity --scale --height=400  --title="Modification de l'option ${SELECT_FILE}"  --text="$DESC\n\nValeur courante=`cat ${SELECT_FILE}`\nValeur par default=${DEF}" --min-value=$MIN --max-value=$MAX --value=`cat ${SELECT_FILE}`)
    
      if [ $? = "0" ]; then
        echo $OPTION_VALUE > ${SELECT_FILE}    
        if [ $WEBCAM_TEST = true ]; then
          ( exec ${DEFAULT_WEBCAM_APP} )
        fi
      fi
      
     else
       break
     fi
    
    
  done  
  
fi

a+

Dernière modification par erlik (Le 13/07/2008, à 20:56)


Je ne suis pas un geek! Je suis un être humain!

Hors ligne

#3 Le 13/07/2008, à 20:48

amarys

Re : [HowTo] regler la qualité d'image d'une webcam utlisant gspca

Cool, sauf que chez moi la cam et ma cle tnt ne peuvent fonctionner ensemble. Du coup, ma cam ne sert pas.:(

Hors ligne

#4 Le 30/08/2008, à 21:58

erlik

Re : [HowTo] regler la qualité d'image d'une webcam utlisant gspca

petite mise a jour du script:
il verifie si le script est lancé en root, et utilise par defaut Cheese comme visionneur de cam

#!/bin/sh

if [ $USER != 'root' ] ; then

  zenity --warning --title="Permissions non accordées" --text="Vous n'avez pas les permissions pour utiliser ce script. Veuillez essayez en tant que root"
  exit;
fi

if [ -d /sys/module/gspca/parameters ]; then

DEFAULT_WEBCAM_APP=cheese

  if [ ! -f /usr/bin/${DEFAULT_WEBCAM_APP} ]; then
    echo " - programme ${DEFAULT_WEBCAM_APP} absent "
    
    zenity --info --title="Application tierce absente" --text="L'application ${DEFAULT_WEBCAM_APP}, utilisée pour tester l'image de votre webcam, est absente. Elle va maintenant être installée "
    
    apturl apt://${DEFAULT_WEBCAM_APP}

  fi

  zenity --question --title="Tester l'image ?" --text="Voudriez-vous l'image de la webcam apres la modification de chaque paramettre ?"
  
  if [ $? = "0" ]; then
    WEBCAM_TEST=true
  else 
    WEBCAM_TEST=false
  fi 
 


  cd /sys/module/gspca/parameters
  
  
  while true ; do


    LIST_FILE=""
    for i in `ls `
      do
        LIST_FILE="${LIST_FILE} FALSE ${i}"
      done
  
      SELECT_FILE=$(zenity --list --radiolist --height=300 --width=350 --title="" --text="Selectionnez une option à modifier" --column="" --column="Option" ${LIST_FILE} )
    
      if [ $? = "0" ]; then
    
        case ${SELECT_FILE} in 
        
        
        "autoexpo")
          DESC="Active/Desactive l'auto-exposition\n - 0=désactivé\n - 1=activé"
          MIN="0"
          MAX="1"
          DEF="0"
        ;;
        
        
        "debug")

          DESC="Niveau de debugage\n - 0=none\n - 1=init/detection\n - 2=warning\n - 3=config/control\n - 4=function call\n - 5=max"
          MIN="0"
          MAX="5"
          DEF="0"
        ;;
        
        "force_rgb")
          DESC="Force l'utilisation du RGB ç la place du BGR\n - 0=désactivé\n - 1=activé"
          MIN="0"
          MAX="1"
          DEF="0"
        ;;
        
        
        "gamma")
          DESC="Valeur du gamma"
          MIN="0"
          MAX="7"
          DEF="3"
        ;;  
        
        "OffRed")  
          DESC="Valeur de l'OffRed, de -128 à 128 (int)"
          MIN="-128"
          MAX="128"
          DEF="0"
        ;;
        
        "OffBlue")
          DESC="Valeur de l'OffBlue, de -128 à 128 (int)"
          MIN="-128"
          MAX="128"
          DEF="0"
        ;;
        
        "OffGreen")          
          DESC="Valeur de l'OffGreen, de -128 à 128 (int)"
          MIN="-128"
          MAX="128"
          DEF="0"
        ;;
        
        "GRed")          
          DESC="Valeur du gain de rouge, de 0 à 512 /256  (int)"
          MIN="0"
          MAX="512"
          DEF="256"
        ;;
        
        "GBlue")
          DESC="Valeur du gain de bleu, de 0 à 512 /256  (int)"
          MIN="0"
          MAX="512"
          DEF="256"
        ;;
        
        "GGreen")
          DESC="Valeur du gain de vert, de 0 à 512 /256  (int)"
          MIN="0"
          MAX="512"
          DEF="256"
        ;;
        
        "compress")
          DESC=":Active/Desactive la compression\n - 0=désactivé\n - 1=activé\n ATTENTION: NON FONCTIONNEL"
          MIN="0"
          MAX="1"
          DEF="0"
        ;;  
        
        "usbgrabber")
          DESC="Is a usb grabber 0x0733:0x0430 ? (default 1)  (int)"
          MIN="0"
          MAX="1"
          DEF="0"
        ;;  
        
        "lightfreq")
          DESC="Filtre de frequence de la lumière\n - 0 = désactivé\n - 50 = Fréquence americaine\n - 60 = Fréquence européenne \nPOUR WEBCAM Zc03xx SEULEMENT"
          MIN="0"
          MAX="60"
          DEF="50"
        ;;
        
        "force_gamma_id")
          DESC="Force l'assignation d'un ID pour la variable de contraste  settings (0=default,1,2,3)\nPOUR WEBCAM Zc03xx SEULEMENT"
          MIN="0"
          MAX="3"
          DEF="0"
        ;;
        
         "force_sensor_id")
           DESC="Force l'assignation d'un ID sensor (Zc03xx only)\nPOUR WEBCAM Zc03xx SEULEMENT\nATTENTION: DANGEUREUX, POUR EXPERT SEULEMENT"
          MIN="0"
          MAX="1"
          DEF="0"
        ;;
           
        *)
           break
        ;; 
  
      esac
        
     OPTION_VALUE=$(zenity --scale --height=400  --title="Modification de l'option ${SELECT_FILE}"  --text="$DESC\n\nValeur courante=`cat ${SELECT_FILE}`\nValeur par default=${DEF}" --min-value=$MIN --max-value=$MAX --value=`cat ${SELECT_FILE}`)
    
      if [ $? = "0" ]; then
        echo $OPTION_VALUE > ${SELECT_FILE}    
        if [ $WEBCAM_TEST = true ]; then
          ( exec ${DEFAULT_WEBCAM_APP} )
        fi
      fi
      
     else
       break
     fi
    
    
  done  
  
fi

Dernière modification par erlik (Le 30/08/2008, à 21:59)


Je ne suis pas un geek! Je suis un être humain!

Hors ligne

#5 Le 06/09/2008, à 14:42

erlik

Re : [HowTo] regler la qualité d'image d'une webcam utlisant gspca

nouvelle mise a jour:
il modifie maintenant le fichier /etc/modprobe.d/options, ce qui permet de conserver  les modifications, qui semblaient avoir tendance a disparaitre apres reboot :

#!/bin/sh

if [ $USER != 'root' ] ; then

  zenity --warning --title="Permissions non accordées" --text="Vous n'avez pas les permissions pour utiliser ce script. Veuillez essayez en tant que root"
  exit;
fi

if [ -d /sys/module/gspca/parameters ]; then

DEFAULT_WEBCAM_APP=cheese

  if [ ! -f /usr/bin/${DEFAULT_WEBCAM_APP} ]; then
    echo " - programme ${DEFAULT_WEBCAM_APP} absent "
    
    zenity --info --title="Application tierce absente" --text="L'application ${DEFAULT_WEBCAM_APP}, utilisée pour tester l'image de votre webcam, est absente. Elle va maintenant être installée "
    
    apturl apt://${DEFAULT_WEBCAM_APP}

  fi

  zenity --question --title="Tester l'image ?" --text="Voudriez-vous l'image de la webcam apres la modification de chaque paramettre ?"
  
  if [ $? = "0" ]; then
    WEBCAM_TEST=true
  else 
    WEBCAM_TEST=false
  fi 

  cd /sys/module/gspca/parameters
  
  while true ; do


    LIST_FILE=""
    for i in `ls `
      do
        LIST_FILE="${LIST_FILE} FALSE ${i}"
      done
  
      SELECT_FILE=$(zenity --list --radiolist --height=300 --width=350 --title="" --text="Selectionnez une option à modifier" --column="" --column="Option" ${LIST_FILE} )
    
      if [ $? = "0" ]; then
    
        case ${SELECT_FILE} in 
        
        
        "autoexpo")
          DESC="Active/Desactive l'auto-exposition\n - 0=désactivé\n - 1=activé"
          MIN="0"
          MAX="1"
          DEF="0"
        ;;
        
        
        "debug")

          DESC="Niveau de debugage\n - 0=none\n - 1=init/detection\n - 2=warning\n - 3=config/control\n - 4=function call\n - 5=max"
          MIN="0"
          MAX="5"
          DEF="0"
        ;;
        
        "force_rgb")
          DESC="Force l'utilisation du RGB à la place du BGR\n - 0=désactivé\n - 1=activé"
          MIN="0"
          MAX="1"
          DEF="0"
        ;;
        
        
        "gamma")
          DESC="Valeur du gamma"
          MIN="0"
          MAX="7"
          DEF="3"
        ;;  
        
        "OffRed")  
          DESC="Valeur de l'OffRed, de -128 à 128 (int)"
          MIN="-128"
          MAX="128"
          DEF="0"
        ;;
        
        "OffBlue")
          DESC="Valeur de l'OffBlue, de -128 à 128 (int)"
          MIN="-128"
          MAX="128"
          DEF="0"
        ;;
        
        "OffGreen")          
          DESC="Valeur de l'OffGreen, de -128 à 128 (int)"
          MIN="-128"
          MAX="128"
          DEF="0"
        ;;
        
        "GRed")          
          DESC="Valeur du gain de rouge, de 0 à 512 /256  (int)"
          MIN="0"
          MAX="512"
          DEF="256"
        ;;
        
        "GBlue")
          DESC="Valeur du gain de bleu, de 0 à 512 /256  (int)"
          MIN="0"
          MAX="512"
          DEF="256"
        ;;
        
        "GGreen")
          DESC="Valeur du gain de vert, de 0 à 512 /256  (int)"
          MIN="0"
          MAX="512"
          DEF="256"
        ;;
        
        "compress")
          DESC=":Active/Desactive la compression\n - 0=désactivé\n - 1=activé\n ATTENTION: NON FONCTIONNEL"
          MIN="0"
          MAX="1"
          DEF="0"
        ;;  
        
        "usbgrabber")
          DESC="Is a usb grabber 0x0733:0x0430 ? (default 1)  (int)"
          MIN="0"
          MAX="1"
          DEF="0"
        ;;  
        
        "lightfreq")
          DESC="Filtre de frequence de la lumière\n - 0 = désactivé\n - 50 = Fréquence americaine\n - 60 = Fréquence européenne \nPOUR WEBCAM Zc03xx SEULEMENT"
          MIN="0"
          MAX="60"
          DEF="50"
        ;;
        
        "force_gamma_id")
          DESC="Force l'assignation d'un ID pour la variable de contraste  settings (0=default,1,2,3)\nPOUR WEBCAM Zc03xx SEULEMENT"
          MIN="0"
          MAX="3"
          DEF="0"
        ;;
        
         "force_sensor_id")
           DESC="Force l'assignation d'un ID sensor (Zc03xx only)\nPOUR WEBCAM Zc03xx SEULEMENT\nATTENTION: DANGEUREUX, POUR EXPERT SEULEMENT"
          MIN="0"
          MAX="1"
          DEF="0"
        ;;
           
        *)
           break
        ;; 
  
      esac
      
   

      GSPCA_OPTION_VALUE=`cat /etc/modprobe.d/options | grep "options gspca ${SELECT_FILE}" | sed "s/options gspca "${SELECT_FILE}"=//" `


      if [ $GSPCA_OPTION_VALUE ]; then
        option_exist=TRUE
      else
        GSPCA_OPTION_VALUE=`cat ${SELECT_FILE}`
        option_exist=FALSE
      fi
      
        
     OPTION_VALUE=$(zenity --scale --height=400  --title="Modification de l'option ${SELECT_FILE}"  --text="$DESC\n\nValeur courante=${GSPCA_OPTION_VALUE}\nValeur par default=${DEF}" --min-value=${MIN} --max-value=${MAX} --value=${GSPCA_OPTION_VALUE})
    
      if [ $? = "0" ]; then
        echo "Nouvelle valeur de ${SELECT_FILE} : ${OPTION_VALUE}"
        if [ ${option_exist} = TRUE ]; then
          
         sed -i "s|options gspca ${SELECT_FILE}=${GSPCA_OPTION_VALUE}|options gspca ${SELECT_FILE}=${OPTION_VALUE}|" /etc/modprobe.d/options
        else
          echo "options gspca ${SELECT_FILE}=${OPTION_VALUE}" >> /etc/modprobe.d/options   
        fi

        modprobe -r gspca 
        modprobe gspca 
        
        if [ $WEBCAM_TEST = true ]; then
          ( exec ${DEFAULT_WEBCAM_APP} )
        fi
      fi
      
     else
       break
     fi
    
    
  done  
  
fi

Dernière modification par erlik (Le 06/09/2008, à 14:54)


Je ne suis pas un geek! Je suis un être humain!

Hors ligne

#6 Le 09/12/2008, à 21:51

linubuntu

Re : [HowTo] regler la qualité d'image d'une webcam utlisant gspca

bonsoir merci pour le script mais pourquoi est ce quìil faut installer cheese?


PC: AMD 64 4000+ , 1go de ram DDR2, dd 160go SATA2 , Power Color X1950 pro 256mo ddr3 .
OS : ubuntu 8.10
Skin Linux Live aMSN Tribal Edition

Hors ligne

#7 Le 09/12/2008, à 21:54

linubuntu

Re : [HowTo] regler la qualité d'image d'une webcam utlisant gspca

ah c'est bon j'ai compri pourquoi wink  ça marhe merci il est trop bien ton script wink


PC: AMD 64 4000+ , 1go de ram DDR2, dd 160go SATA2 , Power Color X1950 pro 256mo ddr3 .
OS : ubuntu 8.10
Skin Linux Live aMSN Tribal Edition

Hors ligne