Laser Scanner 3D SkanDal Camera
De Centre de Ressources Numériques - Labomedia
Sommaire
Création d'une section dans scan.ini pour une webcam particulière
Accès Camera avec v4l2
Votre webcam doit-être accessible avec v4l2. Aucun test n'a été réalisé sinon. Installer:
sudo apt-get install uvcdynctrl
Liste des camera accessibles
uvcdynctrl -l
Noter le numéro de la bonne webcam, par exemple: video0
Liste des paramètres accessibles sur v4l2
uvcdynctrl -d video0 -c
Exemple pour Logitech, Inc. QuickCam Pro 9000
Listing available controls for device video0:
Brightness Contrast Saturation White Balance Temperature, Auto Gain Power Line Frequency White Balance Temperature Sharpness Backlight Compensation Exposure, Auto Exposure (Absolute) Exposure, Auto Priority Focus LED1 Mode LED1 Frequency Disable video processing Raw bits per pixel
Détail des valeurs possibles
uvcdynctrl -c -v
Retourne:
Listing available controls for device video0:
Brightness
ID : 0x00000001,
Type : Dword,
Flags : { CAN_READ, CAN_WRITE },
Values : [ 0 .. 255, step size: 1 ],
Default : 128
Contrast
ID : 0x00000002,
Type : Dword,
Flags : { CAN_READ, CAN_WRITE },
Values : [ 0 .. 255, step size: 1 ],
Default : 32
Saturation
ID : 0x00000004,
Type : Dword,
Flags : { CAN_READ, CAN_WRITE },
Values : [ 0 .. 255, step size: 1 ],
Default : 32
White Balance Temperature, Auto
ID : 0x00000009,
Type : Boolean,
Flags : { CAN_READ, CAN_WRITE },
Values : [ 0 .. 1, step size: 1 ],
Default : 1
Gain
ID : 0x00000003,
Type : Dword,
Flags : { CAN_READ, CAN_WRITE },
Values : [ 0 .. 255, step size: 1 ],
Default : 0
Power Line Frequency
ID : 0x0000000d,
Type : Choice,
Flags : { CAN_READ, CAN_WRITE },
Values : { 'Disabled'[0], '50 Hz'[1], '60 Hz'[2] },
Default : 2
White Balance Temperature
ID : 0x00000008,
Type : Dword,
Flags : { CAN_READ, CAN_WRITE },
Values : [ 0 .. 10000, step size: 10 ],
Default : 4000
Sharpness
ID : 0x00000007,
Type : Dword,
Flags : { CAN_READ, CAN_WRITE },
Values : [ 0 .. 255, step size: 1 ],
Default : 224
Backlight Compensation
ID : 0x0000000c,
Type : Dword,
Flags : { CAN_READ, CAN_WRITE },
Values : [ 0 .. 2, step size: 1 ],
Default : 1
Exposure, Auto
ID : 0x0000000f,
Type : Choice,
Flags : { CAN_READ, CAN_WRITE },
Values : { 'Manual Mode'[1], 'Aperture Priority Mode'[3] },
Default : 3
Exposure (Absolute)
ID : 0x00000011,
Type : Dword,
Flags : { CAN_READ, CAN_WRITE },
Values : [ 1 .. 10000, step size: 1 ],
Default : 166
Exposure, Auto Priority
ID : 0x00000010,
Type : Boolean,
Flags : { CAN_READ, CAN_WRITE },
Values : [ 0 .. 1, step size: 1 ],
Default : 0
Focus
ID : 0x00000014,
Type : Dword,
Flags : { CAN_READ, CAN_WRITE },
Values : [ 0 .. 255, step size: 1 ],
Default : 0
LED1 Mode
ID : 0x046d0003,
Type : Choice,
Flags : { CAN_READ, CAN_WRITE, IS_CUSTOM },
Values : { 'Off'[0], 'On'[1], 'Blinking'[2], 'Auto'[3] },
Default : 3
LED1 Frequency
ID : 0x046d0004,
Type : Dword,
Flags : { CAN_READ, CAN_WRITE, IS_CUSTOM },
Values : [ 0 .. 255, step size: 1 ],
Default : 0
Disable video processing
ID : 0x046d0005,
Type : Boolean,
Flags : { CAN_READ, CAN_WRITE, IS_CUSTOM },
Values : [ 0 .. 1, step size: 1 ],
Default : 0
Raw bits per pixel
ID : 0x046d0006,
Type : Dword,
Flags : { CAN_READ, CAN_WRITE, IS_CUSTOM },
Values : [ 0 .. 1, step size: 1 ],
Default : 0
Adapter cam_settings.py
Pour une autre webcam:
Dans ce distionnaire, la clé est le string du paramètre utilisé dans uvcdynctrl, et la valeur le string de ce paramètre dans scan.ini
# It's a list to disable auto settings first
all_param = [["Focus, Auto", "focus_auto"],
["Focus (absolute)", "focus_abs"],
["White Balance Temperature, Auto", "w_bal_temp_aut"],
["Exposure, Auto", "expos_auto"],
["White Balance Temperature", "white_bal_temp"],
["Exposure (Absolute)", "exposure_abs"],
["Power Line Frequency", "power_line_freq"],
["Brightness", "brightness"],
["Contrast", "contrast"],
["Sharpness", "sharpness"],
["Backlight Compensation", "backlight_comp"],
["Saturation", "saturation"],
["Pan (Absolute)", "pan_abs"],
["Tilt (Absolute)", "tilt_abs"],
["Zoom, Absolute", "zoom_abs"]]
Réglage du focus en python
import os os.system(uvcdynctrl -d video0 -s "Focus (absolute)" 10) # 0 to 40