• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Webcam II via CPIA und viele schwarze Punkte

Hi alle,

ich betreibe hier eine kleine Webcam (Standbild) mit einer Creative Labs Webcam-II-USB mit Suse 10.1 via CPIA-Treiber und einem Tool, welches mit "webcam" gestartet wird (weiss jetzt leider nicht mehr, woher ich das habe...).

Leider scheint die CAM irgendwie automatisch erkennen zu wollen, wie hell es draussen ist und grabbt sehr oft schwarze Flächen oder Punkte an den Stellen, wo es sehr hell ist. Des weiteren wird bei Nachtaufnahmen das Bild stark aufgehellt. Weiss jemand hier eine Möglichkeit, wie ich die Cam so einstellen kann, dass dieser automatische Helligkeitsabgleich nicht mehr stattfindet?

Ein Beispiel sieht man z.B. hier:


Vielen Dank für die zahlreichen Antworten! :)

Gruesse aus dem Ruhrgebiet,
Jens

EDIT: Lösung zum Problem siehe weiter unten
 

misiu

Moderator
Teammitglied
Das Tool "cpia-control" hat ja auch bestimmte Einstellmöglichkeiten:
FEATURES

- camera status (fps/thruput)
- setting color/brighness/contrast
- compression control (incl. manual/auto parameters)
- flicker control settings
- all possible sensor fps settings

Ich hätte da mit der Kompression versucht....

MfG
misiu
 
Hi,

misiu schrieb:
Das Tool "cpia-control" hat ja auch bestimmte Einstellmöglichkeiten:
(...)

Das Ding habe ich leider noch nicht zum Laufen bringen können hier, bricht immer ab mit folgendem Fehler:

----(Schnipp)----
Traceback (most recent call last):
File "./cpia-control", line 30, in ?
import cpia_control, libcpia
File "/home/jens/webcam/cpia-control/cpia_control.py", line 32, in ?
pygtk.require('1.2')
File "/usr/lib/python2.4/site-packages/pygtk.py", line 73, in require
assert versions.has_key(version), \
AssertionError: required version '1.2' not found on system
----(Schnapp)----

Python und Python-gtk sind installiert.

Any hints ? :?:

Gruesse aus dem Ruhrgebiet,
Jens
 

misiu

Moderator
Teammitglied
Und wenn du dein Tool für Webcam mit entsprechendem Parameter
von der Textkonsole startest?

MfG
misiu
 
Hi,

misiu schrieb:
Und wenn du dein Tool für Webcam mit entsprechendem Parameter
von der Textkonsole startest?

Würde ich gerne machen, aber das Tool gibt da leider über die Möglichkeiten keine Auskunft drüber, im man steht dazu auch nicht viel drin, ich suche schon länger im Inet nach Infos...

Ach ja, es wird eh in der Textkonsole gestartet :)

Gruesse aus dem Ruhrgebiet,
Jens
 

misiu

Moderator
Teammitglied
Und so:
NamedesProgramms --help
bringt nichts?

Welche Version hat dein Python, 1.2 ?

MfG
misiu
 
Hi,

misiu schrieb:
NamedesProgramms --help
bringt nichts?

Welche Version hat dein Python, 1.2 ?

zu 1) Nein, bringt leider nix :(
zu 2) 2.4.2

Hat sich aber, so glaube ich, erledigt, die Lösung kommt im nächsten Post ...

Gruesse aus dem Ruhrgebiet,
Jens
 
Hi alle,

das Tool webcam aus dem v4l-Paket in Zusammenarbeit mit der Webcam II via cpia-Treiber macht folgendes:

- beim Start wird der cpia-Treiber initialisiert mit Standard-Werten
- cpia-Standard ist u.a. eine automatische Helligkeitsregulierung mit ziemlich hellen Startwerten
- webcam macht den ersten Grab (es wird immer nur ein Bild gegrabt)
- ist natürlich viel zu hell! Daher die schwarzen Punkte
- nächster Grab nach 60 Sekunden
- naja, wenig Änderungen gegenüber dem letzten.....
- usw. nach etlichen Minuten dann wird das Bild langsam besser
- irgendwann ist das Bild dann in Ordnung, dauert aber definitiv zu lange :)

Erklärung:

Im Gegensatz zu einem Programm, das einen Stream erzeugt (z.B. xawtv), holt sich "webcam" immer nur ein Bild. Was bei xawtv nur Sekunden dauert, nämlich die automatische Helligkeitsregulierung vom cpia, dauert daher mit webcam eine halbe Ewigkeit. da cpia bei jedem Grab nur genau eine, und dann auch noch sehr kleine Helligkeitsänderung vornimmt.
Die Defaults vom cpia sind da nicht wirklich glücklich gewählt, wie ich finde. Sie fangen nämlich bei "ganz hell" an und hangeln sich dann langsam zu "dunkel" durch. Daher resultieren auch die schwarzen Flächen oder Punkte im Bild. Besser wäre m.E. mit "ganz dunkel" zu starten und dann heller zu werden.

Lösung 1 (habe ich noch nicht gemacht, kommt noch):

Die Defaults im cpia-Modul ändern und neu kompilieren. Woher die Defaults kommen sollten, siehe Lösung 2.

Lösung 2 (läuft so hier im Moment):

Läuft die Webcam ordentlich und liefert ein gutes Bild, dann kann man die relevanten Werte aus /proc/cpia/webcamx entnehmen. Daraus erstellt man ein Shell-Script, welches diese Werte an /proc/cpia/webcamx mittels echo-Kommando schickt, z.B.:

echo compression_mode: none > /proc/cpia/video0

Nun wird die Cam gestartet (webcam configfile) und anschliessend das gerade erstellte Shell-Script ausgeführt und siehe da:

Spätestens beim zweiten Grab ist das Bild in Ordnung!

Wer immer die gleichen Lichtverhältnisse hat, kann übrigens die automatische Helligkeitskorrektur auch ganz abschalten:

echo exposure_mode: manual > /proc/cpia/video0

Aber dann müssen auch die anderen relevanten Werte übergeben werden!

Gruesse aus dem Ruhrgebiet,
Jens
 
Hi,

misiu schrieb:
:D Schön, dass es geht.
Interesante Lösung.

Ja, es geht, das ist die Hauptsache :) Schön ist es nicht, aber egal....

Die Entwicklung vom cpia-Treiber und dem Control-Tool dafür scheint schon vor Jahren eingestellt worden zu sein, ich habe daher auch den Author nicht kontaktiert und mir eine eigene Lösung (quick and dirty) gebastelt, da ich mir so zum Spass nicht extra eine neue Webcam kaufen wollte..

Mit der Grundidee dieser Lösung kann man noch so einiges mehr anfangen, zum Beispiel per Script das Bild aufzuhellen oder abzudunkeln, ich bastele da noch ein wenig rum.. :D

Ich hoffe, ich konnte konnte auch anderen mit dieser Lösung helfen.

Gruesse aus dem Ruhrgebiet,
Jens
 
Oben