www.mikrocontroller.net

Forum: Offtopic Berechnung der Standardabweichung und Rotationswinkel


Autor: bunny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe Schwierigkeiten mit dem Lösen folgender Aufgaben:

Das Rauschen eines CCD-Chips ist recht hoch , so dass die 
Standardabweichung der Grauwerte σ=10 ist. Es sollen 10 Bilder gemittelt 
werden. Welchen Wert kann man für die Standardabweichung des gemittelten 
Bildes erwarten?

Da ich keine vertikalen Streifen haben will, soll das Bild gedreht und 
verschoben werden. Dadurch wird der Punkt P1(30, 40) in den Punkt 
Q1(145.98, 119.64) und der Punkt P2(60, 80) in den Punkt Q2(191.96, 
139.28) transformiert. Wie lässt sich der Rotationswinkel sowie die 
Verschiebung berechnen?

Für jede Hilfe schonmal vielen Dank!

Autor: Netbird (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1) Stichwort: Wurzel - n - Gesetz?

2) Wie wär's mit Skalarprodukt zwischen den P1P2 und Q1Q2?
Oder Q1 auf P1 schieben ...  Kannst du erst mal grafisch lösen, dann 
kennst du die Lösung schon ungefähr.

Autor: bunny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Netbird für die Hilfe. Mit der Aufgabe 2 hab ich noch so meine 
Schwierigkeiten. Kannst du mir da noch weiter helfen`?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rotation + Verschiebung.

Die Zusammenfassung beider Operationen führt zu folgenden
Gleichungen


Q1x =  P1x * cos(a) + P1y * sin(a) + dx
Q1y = -P1y * sin(a) + P1y * cos(a) + dy

und das Ganze dann natürlich noch für P2/Q2

Damit hast du 4 Gleichungen in 4 Unbekannten: sin(a), cos(a), dx, dy
und kannst das erst mal lösen.
Wenn du dann cos(a) und sin(a) kennst, kannst du auch a ausrechnen.

Autor: Netbird (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wenn du dann cos(a) und sin(a) kennst, kannst du auch a ausrechnen.

Drehwinkel: Vektor P1P2 = (30 40), Vektor Q1Q2 = (46 20) (gerundet!, 
selbst genau nachrechnen..)

Dann P1P2 * Q1Q2 = |P1P2|.|Q1Q2|.cos phi,   * steht für Skalarprodukt.
Hieraus Phi um 29 Grad rechts herum ...

Verschiebungsvektor ergibt sich nach dem Drehen als Vektor von P1 zu Q1, 
müsste um (116 80)sein, Angaben wie beim Lotto, weil Freitag abend ist 
:-)

Falls die gesamte Transformation gefragt ist: Siehe Karl Heinz

Autor: bunny (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Diese Schreibweise kenne ich nicht so:

Q1x =  P1x * cos(a) + P1y * sin(a) + dx
Q1y = -P1y * sin(a) + P1y * cos(a) + dy

In der Lösung steht α=30°, b1=b2=100.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bunny wrote:
> Diese Schreibweise kenne ich nicht so:
>
> Q1x =  P1x * cos(a) + P1y * sin(a) + dx
> Q1y = -P1y * sin(a) + P1y * cos(a) + dy

Sie ist aber völlig gleichwertig und ich wusste ja nicht
ob du mit Matrizen etwas anfangen kann.

Die obigen Gleichungen sind einfach nur die Matrixmultiplikationen
ausgeschrieben. Dein k ist dabei 1.0

Rotationsmatrix:
 R  =    ca    sa    0            wobei ca = cos(a)
        -sa    ca    0                  sa = sin(a)
          0     0    1

Transformationsmatrix:
 T  =     1     0    dx
          0     1    dy
          0     0    1

die komplette Matrix die einen Punkt (um den Ursprung) rotiert
und verschiebt, lautet daher

  M =    ca    sa    dx
        -sa    ca    dy
          0     0    1

Und dein Punkt P transformiert sich zu Q durch die Multiplikation
von M mit P

   Q = M * P

eingesetzt ergibt das


  | Qx Qy 1 | =  |  ca   sa  dx |   *  | Px |
                 | -sa   ca  dy |      | Py |
                 |   0    0   1 |      |  1 |

Anstatt das als Vektor Matrix-Gleichung zu schreiben, kann die
Matrixmultiplikation auch in mehrere Gleichungen extrahiert
werden: (jede Zeile der Matrix mit dem Spaltenvektor multiplizieren
und die einzelnen Summanden aufaddieren)

   Qx =  ca * Px   +   sa * Py   +    dx * 1
   Qy = -sa * Px   +   ca * Py   +    dy * 1
    1 =   0 * Px   +    0 * Py   +     1 * 1


Und damit hast du aber die beiden Gleichungen die ich vorher
angegeben habe.

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, Yahoo oder Facebook? Keine Anmeldung erforderlich!
Mit Google-Account einloggen | Mit Yahoo-Account einloggen | Mit Facebook-Account einloggen
Noch kein Account? Hier anmelden.