Forum: Digitale Signalverarbeitung / DSP / Machine Learning Kamera Bildverarbeitung, die nur einen Bildauschnitt liefert


von visionær (Gast)


Lesenswert?

Hallo,
ich möchte ein Objekt sehr genau tracken. Deshalb suche ich eine USB 
Kamera mit hoher Auflösung 1024x768 oder besser noch 1280x1024 und 
30fps.
Ich möchte die Bildverarbeitung auf einem Linux Rechner durchführen.

1280x1024 und 30fps klingt viel. Isses auch. Da ich aber ein Objekt 
tracke, brauche ich nur einen sehr kleinen Bildausschnitt. Vielleicht 
128x128 Pixel. Es wäre also ideal, wenn ich der Kamera mitteilen könnte, 
welchen Ausschnitt ich will und sie liefert dann nur diese Daten.

Gibt es sowas (bezahlbar, da Hobby-Projekt) ?

von Chris (Gast)


Lesenswert?

schau mal nach ob deine Digitalkamera dies kann.
Dafuer gibt es spezielle Linuxprogramme, Gphoto ist das erste, was mir 
einfaellt, aber es gibt weitere.

RPI Camera (5MPixel) sollte dies auch koennen, wenn du einen eh so ein
RPI rumliegen hast.

von visionær (Gast)


Lesenswert?

RPI Cam: Oh - das klingt gut. Nein hab ich nicht. Könnte sich aber 
ändern :)
Danke für die Hilfe !

von Strubi (Gast)


Lesenswert?

Tach,

bin recht skeptisch, dass das mit dem Omnivision-Sensor klappt, die 
haben
a) meist nur rolling shutter
b) kriegt man die Register-Specs oft nicht komplett
c) sind sie für framesynchrones Tracking nicht designt

Die Frage ist auch, wie schnell du das ROI (Tracking-Fenster) auslesen 
willst. Bisher sind mir so einige Linux-Treiber untergekommen, die bei 
hohen Raten Frames verlieren, weil sie keine sauberen "Buffer queues" 
implementieren. Richtig zuverlässig hat das schlussendlich nur mit einem 
proprietären System geklappt, kann also eine Menge Arbeit werden. Oder 
ziemlich teuer (spezielle Industriekameras nötig). Der v4l2-Standard 
deckt Tracking nicht ab.


Grüsse,
- Strubi

P.S. Ich glaube was Chris mit "Tracking" bzgl gphoto meint, ist was ganz 
anderes...(GPS)

von Chris S. (schris)


Lesenswert?

Nein, ich meinte schon das richtige.
Gphoto ist ein guter Ausgangspunkt:
http://www.gphoto.org/proj/

Die Liste der Kameras, welche funktionieren ist hier:
http://www.gphoto.org/proj/libgphoto2/support.php

Überall wo Liveview steht, diese Kamera könnte funktionieren.
Nicht bei jeder Kamera kann man ein ROI für die Liveview Funktion 
setzen,
jedoch bei den Kameras, welche dies unterstützen, funktioniert es 
problemlos.
Und die fps geht dann hoch.

Um es klarzustelle, ich empfehle ein vorheriges Testen der 
Funktionalität
und kein ev. blindes kaufen nach der Liste und dann funktioniert es 
nicht.
Ev. hat ein bekannter eine Kamera welche funktioniert, oder man kann sie
in einem Geschäft mit einem Laptop ausprobieren.

von PittyJ (Gast)


Lesenswert?

Ich habe mit der Raspi-Kamera gespielt. Ein ROI habe ich nicht gefunden.
Und Parameter einstellen ging auch nicht besonders gut. 
(Belichtungszeit,Auslösung...)
Ein Objektiv für Schärfe gibt es gar nicht.
Wenn man was richtiges machen möchte, sollte man über dem Niveau der 
Raspi-Kamera anfangen.

Im Prinzip gibt es Industriekameras dafür, die dies alles beherrschen. 
Der Preis geht aber erst bei 4stellig los.

http://www.alliedvisiontec.com/de/produkte/kameras/gigabit-ethernet/manta/g-201bc.html

von visionær (Gast)


Lesenswert?

>Nicht bei jeder Kamera kann man ein ROI für die Liveview Funktion
>setzen,
Finde leider keine Infos, welche Kamera eine Auswahl der ROI 
unterstützt. Meine 3 Kameras (Nikon P7700, EasyShare V1003 und s601) 
unterstüten kein LiveView und kein ROI.

Wäre aber schon Spitze, wenn ich eine Fotokamera dafür verwenden könnte.

Beim Rumspielen mit gphoto Mir ist allerdings noch eine andere Idee als 
Fallback gekommen:
Wenn ich eine Fotokamera mit gutem Bild und Auflösung im Liveview Modus 
benutzen kann, aber sagen wir mal nur etwa 1fps hätte, dann würde das 
vielleicht auch gehen. Ich kann zwischen den Bildern mit anderen 
Sensoren interpollieren. Ich müsste aber nur wissen, zu welchem 
Zeitpunkt das Bild aufgenommen wurde: Ein Zeitstempel als Digitaluhr mit 
1ms Auflösung im Bild. Vielleicht eine Binäruhr. Und per 
Bildverarbeitung könnte ich den Zeitstempel dann ja wieder 
interprätieren.

von visionær (Gast)


Lesenswert?

hab mir eben eine gebrauchte Cam aus der Gphoto Liste gekauft. <20€. Da 
spiel ich mal rum.

von Strubi (Gast)


Lesenswert?

PittyJ schrieb:
> Wenn man was richtiges machen möchte, sollte man über dem Niveau der
> Raspi-Kamera anfangen.
>

Hast Du da auf v4l2-Level mit den Parametern gearbeitet, oder die 
Registertabelle des OV-Sensors in die Finger bekommen?

> Im Prinzip gibt es Industriekameras dafür, die dies alles beherrschen.
> Der Preis geht aber erst bei 4stellig los.
>
> 
http://www.alliedvisiontec.com/de/produkte/kameras/gigabit-ethernet/manta/g-201bc.html

Es gibt einige günstige Module von Aptina, die ROI beherrschen. Habe 
damit schon Single-ROI-Tracking bei knapp 500 fps hinbekommen. Das 
poor-man-tracking geht schon mit den günstigen 
Rolling-Shutter-Handysensoren, aber leider nicht so ganz 100% 
fehlerfrei.

Das mit gphoto wusste ich nicht, ist ja interessant.

Grüsse,

- Strubi

von J. S. (engineer) Benutzerseite


Lesenswert?

Du könntest ein Spartan Atlys Board nehmen. Das hat zwei HDMI-Eingänge 
und -ausgänge und dort eine handelsübliche Consumer-Kamera von EBAY 
dranhängen. Dann könntest Du die ROI-Wanderung mit ausgeben und 
beobachten, während der andere Kanal nur das ROI selber ausgibt - gfs 
mit geringerer Bandbreite.

BRAMS für ein 128x128x8x1 (8 Bit monochrom) hätte der 45 Spartan 6 
genug.

von chris (Gast)


Lesenswert?

Ein Beispiel eines Liveviews:
http://breezesys.com/DSLRRemotePro/liveviewfinder.htm
und Liveview heisst >20 fps.

Dann schau dir mal ptpcam an und teste was deine Camera unterstuetzt.
Teste auch gphoto2, vielleicht geht es ja ueber ptp.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.