MATLAB: Universal Image Quality Index

Diskutiere MATLAB: Universal Image Quality Index im Developer Network Forum im Bereich Hardware & Software Forum; Hallo, ich würde gerne folgende Formel in MATLAB programmieren. Zu finden ist die Formel hier: http://nexcomm.or.kr/board_files/UIQI.pdf...
  • MATLAB: Universal Image Quality Index Beitrag #1
M

MgPlusS

Bekanntes Mitglied
Dabei seit
24.01.2008
Beiträge
205
Reaktionspunkte
0
Hallo,

ich würde gerne folgende Formel in MATLAB programmieren.
Zu finden ist die Formel hier: http://nexcomm.or.kr/board_files/UIQI.pdf unter Q = ...

Hätte aber nur einen Frage zu den einzelnen Parametern der Formel, z.B. x quer. Das ist die Summe aller Pixel aus dem Original Bild, verstehe ich das richtig?
Falls, ja wie wird das in Matlab programmiert?

Habe an
x1 = sum(I_orig:) ));

y1 = sum(FBP :) ));

x = (1/a) * (x1);

y = (1/a) * (y1);

Ox2 = (1/(a-1)) * sum ((x1 - x).^2);

Oy2 = (1/(a-1)) * sum ((y1 - y).^2);

Oxy = (1/(a-1)) * sum ((x1 - x)*(y1 - y))


UQI = (4*Oxy*x*y)/(((Ox2)+(Oy2))*(((x)^2)+((y)^2)))

(Wem das jetzt zu viel zum lesen ist, mir geht es vorallem erstmal um das x1 bzw. das x, was ist daran falsch??)

gedacht..allerdings funktioniert dass nicht so ganz wie ich es will.

Und wenn ich ein anderes Bild nehme, das nun wirklich dem ersten nicht sehr ähnlich sieht, erhalte ich fast den selben Wert, vllt. um 0,003 weicht er vom anderen Wert ab.

Was mache ich falsch?

Wäre super, wenn mir jemand helfen kann.

Schönen Abend :)
MgPlusS
 
  • MATLAB: Universal Image Quality Index Beitrag #2
willikufalt

willikufalt

Bekanntes Mitglied
Dabei seit
28.08.2001
Beiträge
1.481
Reaktionspunkte
0
Wie kommst du denn an das x1 bzw. y1?

x und y sind Vektoren (n-Tupel)

x quer und y quer sind nicht die Summe, sondern der Durchnitt der x_i bzw. y_i.



Kann es sein, dass du überhaupt nicht ansatzweise einen Plan hast, was du da machst?
 
Zuletzt bearbeitet:
  • MATLAB: Universal Image Quality Index Beitrag #3
M

MgPlusS

Bekanntes Mitglied
Dabei seit
24.01.2008
Beiträge
205
Reaktionspunkte
0
Danke für die Antwort :)

Also I_orig und FBP sollen Bilder sein, falls das nicht ganz klar war.
Und der x1 schritt ist nur ein Vorschritt für x_quer. Und dafür brauch ich doch die Summe aller Pixel von dem bild dachte ich, deshalb die Summe ... oder wofür steht x_i bzw. y_i?
 
  • MATLAB: Universal Image Quality Index Beitrag #4
willikufalt

willikufalt

Bekanntes Mitglied
Dabei seit
28.08.2001
Beiträge
1.481
Reaktionspunkte
0
Die X_i sind die "Signale" des Ursprungsbildes und die y_i die des gestörten Bildes.

Was man jetzt ganz genau unter den Signalen zu verstehen hat, kann ich dir nicht 100% sagen, aber es handelt sich da wohl um die Wert der einzelnen Pixel(Farbe, Helligkeit). Ausgewertet wird aber normalerweise nicht das ganze Bild in einem Rutsch, sondern es wird zum Beispiel wie in dem paper beschrieben, ein 8x8 Pixel großes Fenster über das Bild geschoben. Für dieses Fenster wird die Berechnung durchgeführt und als Endwert wird dann wieder der Durchnitt der berechneten Ergebnisse gebildet. Es ergibt sich ein Wert zwischen -1 und 1, wobei der Wert 1 nur dann Auftritt, wenn das Ursprungsbild überhaupt nicht verändert wurde.

Ich denke, dass du wirklich mit der Anzahl der Pixel arbeitest und nicht mit den Bildinformationen, so dass dein Ergebnis nur von den Bildgrößen abhängt. Das ist aber natürlich völliger Nonsens.


Ich möchte aber mal daruaf hinweisen, dass ich mit dieser Thematik weiter nichts zu tun habe und somit auch falsch liegen kann, aber ich glaube, so im Wesentlichen könnte das schon so passen, wie ich mir das jetzt auf die Schnelle zusammengereimt habe.

Vielleicht habe ich dir damit zumindesten mal den Schubser in die richtige Richtung gegeben und du kommst mit diesen Anregungen darauf, in die richtige Richtung zu denken.
 
  • MATLAB: Universal Image Quality Index Beitrag #5
M

MgPlusS

Bekanntes Mitglied
Dabei seit
24.01.2008
Beiträge
205
Reaktionspunkte
0
Das hat mir wohl etwas geholfen, danke!

Vielleicht findet sich ja noch jemand, der ein kleiner Experte ist :p.

Gruß
 
  • MATLAB: Universal Image Quality Index Beitrag #6
M

MgPlusS

Bekanntes Mitglied
Dabei seit
24.01.2008
Beiträge
205
Reaktionspunkte
0
Habe es glaube ich selbst geschafft!
Dennoch vielen dank :)
 
  • MATLAB: Universal Image Quality Index Beitrag #7
willikufalt

willikufalt

Bekanntes Mitglied
Dabei seit
28.08.2001
Beiträge
1.481
Reaktionspunkte
0
Bitte!

Wenn du die richtige Lösung jetzt wirklich in einer Stunde hinbekommen hast: Respekt!

(Bin aber etwas skeptisch; das ist mir nämlich ein bisschen zu schnell)

Wenn das z.B. eine Aufgabe für die Uni ist und du darüber noch ein Feedback bekommst, kannst du hier ja gerne nochmal darüber berichten.
 
  • MATLAB: Universal Image Quality Index Beitrag #8
M

MgPlusS

Bekanntes Mitglied
Dabei seit
24.01.2008
Beiträge
205
Reaktionspunkte
0
Also, ein Kommilitone von mir hat mal die selben Ergebnisse, aber können natürlich beide falsch sein ;-).

Es war eig. ganz einfach. Den einzigen Schritt den ich machen musste, war in den anderen Formel (außer bei x_quer und y_quer) nicht x1,y1 sondern img1:)) bzw img2:)) zu verwenden. Dadurch werden immer die einzelnen Bildpunkte genommen.
x1 und y1 haben somit auch gestimmt - hoff ich bzw. wir jetzt zumindest mal :)

Falls nicht, melde ich mich nochmal oder falls jemand nen Fehler findet auch gerne.

Gruß
 
  • MATLAB: Universal Image Quality Index Beitrag #9
V

Vader7

Neues Mitglied
Dabei seit
21.01.2013
Beiträge
1
Reaktionspunkte
0
Hey, ich muss was aehnliches programmieren und wollte mal fragen, wie du das mit dem sum(xi) und xi bzw yi = 1,...,N machst, steh da grad irgendwie auf dem Schlauch...bei mir kommt fuer Q naemlich irgendein scheiss raus ;)
Waere dir sehr dankbar fuer deine Hilfe :)

Lg
 
Thema:

MATLAB: Universal Image Quality Index

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.170
Mitglieder
55.874
Neuestes Mitglied
hnte
Oben