Was ist eine Kovarianzmatrix?



  • Hi,

    wenn man auf einem Rasterbild ein Teilfenster der Größe NN Pixel als Ausschnitt des Bildes betrachtet, was ist dann mit einer **Kovarianzmatrix des NN Fensters** gemeint?



  • Wikipedia hilft dir nicht?



  • knivil schrieb:

    Wikipedia hilft dir nicht?

    Nein, es hilft nicht.
    Ich verstehe nicht, wie ich das auf die Farbwerte der Pixel anwenden soll.



  • http://de.wikipedia.org/wiki/Moment_(Bildverarbeitung)

    Abschnitt "die Kovarianzmatrix des Bildes g(x,y) ..."



  • MisterX schrieb:

    wenn man auf einem Rasterbild ein Teilfenster der Größe NN Pixel als Ausschnitt des Bildes betrachtet, was ist dann mit einer **Kovarianzmatrix des NN Fensters** gemeint?

    Das ergibt so strenggenommen keinen Sinn. Um eine Kovarianzmatrix berechnen zu können, benötigst Du einen "Zufallsvektor" (eine mehrdimensionale Zufallsvariable). Hast Du eine Stichprobe (einen repräsentativen Haufen von Werten bzgl einer Zufallsvariablen) kannst Du die Kovarianzmatrix approximieren. Was soll jetzt der Zufallsvektor sein und wo ist die Stichprobe? Da gibt es jetzt viele Möglichkeiten...

    Es fehlen Details und Kontext, um Dir besser helfen zu können.

    !rr!rr_. schrieb:

    http://de.wikipedia.org/wiki/Moment_(Bildverarbeitung)
    Abschnitt "die Kovarianzmatrix des Bildes g(x,y) ..."

    Dort werden Intensitätsgradienten innerhalb eines Bildausschnitts als Stichprobe eines 2D-Zufallsvektors behandelt und dessen 2x2-Kovarianzmatrix berechnet.

    Ob es das ist, was der TE haben/wissen willst, kann man aber anzweifeln:

    MisterX schrieb:

    Ich verstehe nicht, wie ich das auf die Farbwerte der Pixel anwenden soll.

    Er könnte genauso gut jeden Pixel als ein Element einer Stichprobe einer 3D-Zufallsvariablen betrachten (Rot/Grün/Blau als 3 Zufallsvariablen). Das Ergebnis wäre eine 3x3-Kovarianzmatrix C. So etwas ist nicht ganz unpraktisch. DXT1-Texturkompressoren berechnen so etwas auf 4x4 Pixelblöcken, um den signifikantesten Farbgradienten innerhalb des Blocks zu bestimmen.



  • krümelkacker schrieb:

    MisterX schrieb:

    wenn man auf einem Rasterbild ein Teilfenster der Größe NN Pixel als Ausschnitt des Bildes betrachtet, was ist dann mit einer **Kovarianzmatrix des NN Fensters** gemeint?

    Das ergibt so strenggenommen keinen Sinn. Um eine Kovarianzmatrix berechnen zu können, benötigst Du einen "Zufallsvektor" (eine mehrdimensionale Zufallsvariable). Hast Du eine Stichprobe (einen repräsentativen Haufen von Werten bzgl einer Zufallsvariablen) kannst Du die Kovarianzmatrix approximieren. Was soll jetzt der Zufallsvektor sein und wo ist die Stichprobe? Da gibt es jetzt viele Möglichkeiten...

    Es fehlen Details und Kontext, um Dir besser helfen zu können.

    !rr!rr_. schrieb:

    http://de.wikipedia.org/wiki/Moment_(Bildverarbeitung)
    Abschnitt "die Kovarianzmatrix des Bildes g(x,y) ..."

    Dort werden Intensitätsgradienten innerhalb eines Bildausschnitts als Stichprobe eines 2D-Zufallsvektors behandelt und dessen 2x2-Kovarianzmatrix berechnet.

    Ob es das ist, was der TE haben/wissen willst, kann man aber anzweifeln:

    MisterX schrieb:

    Ich verstehe nicht, wie ich das auf die Farbwerte der Pixel anwenden soll.

    Er könnte genauso gut jeden Pixel als ein Element einer Stichprobe einer 3D-Zufallsvariablen betrachten (Rot/Grün/Blau als 3 Zufallsvariablen). Das Ergebnis wäre eine 3x3-Kovarianzmatrix C. So etwas ist nicht ganz unpraktisch. DXT1-Texturkompressoren berechnen so etwas auf 4x4 Pixelblöcken, um den signifikantesten Farbgradienten innerhalb des Blocks zu bestimmen.

    So in die Richtung scheint es zu gehen.
    In der Anleitung steht leider nur, es soll die Kovarianzmatrix eines 3x3 Pixel Fensters bestimmt werden. (Das Ergebnis scheint wieder eine 3x3 Matrix zu sein)

    Es sind aber Grauwerte in jedem Pixel.
    Würde es irgrndwie Sinn machen die Kovarianz des Fensters mit sich selbst zu bestimmen? (Also eines Pixels mit sich selbst oder des Fensters (als Matrix verstanden) mit der transponierten Matrix? (Also des Fensters mit sich selbst um 90 Grad gedreht?)



  • MisterX schrieb:

    So in die Richtung scheint es zu gehen.
    In der Anleitung steht leider nur, es soll die Kovarianzmatrix eines 3x3 Pixel Fensters bestimmt werden. (Das Ergebnis scheint wieder eine 3x3 Matrix zu sein)

    Gib mal die Quelle. Das kann nicht sein.

    (Also des Fensters mit sich selbst um 90 Grad gedreht?)

    damit würdest du die Kovarianz über die Pixelzeilen des Fensters kriegen. Für das Fenster muss es eine 9x9 Matrix sein (und ein Fenster ist damit ein 9 elementiger Spaltenvektor).

    Wenn es ein Bildausschnitt ist, könnte es ja auch sein, dass du die Kovarianz über alle möglichen 3x3 Bildausschnitte des Bildes berechnen sollst. Ansonstne brauchst du mehrere verschiedene Bilder.



  • MisterX schrieb:

    So in die Richtung scheint es zu gehen.
    In der Anleitung steht leider nur, es soll die Kovarianzmatrix eines 3x3 Pixel Fensters bestimmt werden.
    (Das Ergebnis scheint wieder eine 3x3 Matrix zu sein)
    Es sind aber Grauwerte in jedem Pixel.

    Welche Anleitung? Was soll denn da am Ende rauskommen?

    MisterX schrieb:

    Würde es irgrndwie Sinn machen die Kovarianz des Fensters

    Sinnfrei. Kovarianz kann man zwischen zwei Zufallsvariablen bestimmen. Was hat das mit einem "Fenster" zu tun?

    Hab' im Moment kein Bock zu raten, was es sein könnte, was Du machen willst.



  • krümelkacker schrieb:

    Er könnte genauso gut jeden Pixel als ein Element einer Stichprobe einer 3D-Zufallsvariablen betrachten (Rot/Grün/Blau als 3 Zufallsvariablen).

    warum nicht einfach so: den Farbraum auf das Intervall [0,1] abbilden, die Momente ausrechnen => cov-Matrix


Log in to reply