Forum: PC-Programmierung Halbkreis linearisieren


von m.s. (Gast)


Lesenswert?

Hallo,

ich habe folgendes vor:

mit einer Kamera soll ein runder Gegenstand aufgenommen werden. Die 
Kamera sieht dabei <180° des Gegenstands. Nun sind die Ränder des 
seitlich aufgenommenen Gegenstands weiter von der Kamera entfernt, wie 
der mittige Teil (aus Kamerasicht).
Die möchte ich für mein Programm "linearisieren" bzw. so rechnen, dass 
alle Stellen des Gegenstandes theoretisch den gleichen Abstand zu Kamera 
haben.

Allerdings fehlt mir der mathematische Ansatz.

Hat hierzu jemand eine Idee?

von Mirko W. (Gast)


Lesenswert?

Ich kenne mich mit Computer Vision zwar gut aus, aber nähere Infos statt 
Salamitaktik wären hilfreich. Worum geht es wirklich?
Die Güte der Linearisierung hängt sicher von der Geometrie ab. Du willst 
einen 3D-Gegenstand also als 2D-Scheibe nähern?
Was für Eingabewerte hast du, was möchtest du rausbekommen?
Dein runder Gegenstand wird im Bild ja zur Ellipse. Reicht es dir, 
einfach direkt Pixelabstände zu Raumabständen gleichzusetzen? Dann 
reicht der Strahlensatz mit Brennweite der Linse, Gegenstandsweite, 
Bildweite.

von georg (Gast)


Lesenswert?

m.s. schrieb:
> so rechnen, dass
> alle Stellen des Gegenstandes theoretisch den gleichen Abstand zu Kamera
> haben.

Das scheitert schon daran, dass die Aufnahme garkeine Information über 
den Abstand enthält. Man bräuchte eine stereoskopische Aufnahme, um 
daraus ein 3D-Modell zu errechnen.

Das nächste Problem ergibt dann daraus, "Gegenstand" genau zu 
definieren.

Georg

von A. S. (rava)


Lesenswert?

joa, das wird so nichts. Lass den Thread hier auslaufen und starte einen 
neuen:

* welcher Gegenstand? Welche Kamera? Wie ist dein use case?
* Ist die Pose des Gegenstandes immer gleich? In welchem Rahmen bewegen 
sich die sechs Werte? Und warum?
* was willst du messen? Den Radius? Oder brauchst du wirklich alles 
entzerrt? Und warum? Das klingt eher sinnfrei.
* Welche Kalibrierungsinfos hast du zur Verfügung? Ist das Bild verzerrt 
z.B. wegen der Optik?
* Muss das einmal funktionieren oder wird das ein Produkt, das auch bei 
1000 Versuchen immer laufen muss?
* Wie viel Rechenzeit hast du zuf Verfügung? Echtzeitanforderungen? Auf 
welcher Hardware? Mit welcher Programmiersprache und welchen 
Bibliotheken?

von Rolf M. (rmagnus)


Lesenswert?

georg schrieb:
> m.s. schrieb:
>> so rechnen, dass
>> alle Stellen des Gegenstandes theoretisch den gleichen Abstand zu Kamera
>> haben.
>
> Das scheitert schon daran, dass die Aufnahme garkeine Information über
> den Abstand enthält.

Sofern die Oberfläche des Gegenstands parallell zur Kameraebene ist, ist 
der Abstand für das Problem egal.
Was nicht egal wäre, ist die Verzerrung der Linse. Man bräuchte ein 
Profil, das diese beschreibt.

von Oliver S. (oliverso)


Lesenswert?

m.s. schrieb:
> Allerdings fehlt mir der mathematische Ansatz.

Z = 42

Da, wie schon geschrieben wurde, dein Bild gar keine 
Entfernungsinformationen enthält, fügst du sie einfach selber hinzu.

Oliver

von markus (Gast)


Lesenswert?

Wenn ich dich richtig verstehe willst du eine Aufriss-artige Abbildung 
erreichen statt einer perspektivischen.

Je weiter die Kamera vom Objekt entfernt ist, desto näher kommst du an 
eine entsprechende Abbildung. (Und du kannst auch mit entsprechenden 
Linsen auf das Objekt zoomen ohne die Perspektive zu ändern.)

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.