#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 !!!
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
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 !!
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 ça marhe merci il est trop bien ton script
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