Page 1 of 3 1 2 3 LastLast
Results 1 to 80 of 222

Thread: Beispiel1 - Blackbox - Verständnisfragen

  1. #1
    Principal
    Join Date
    Feb 2010
    Posts
    25
    Thanks
    0
    Thanked 2 Times in 2 Posts

    Beispiel1 - Blackbox - Verständnisfragen

    Hier bitte alle Fragen posten, die mit dem Verständnis der Angabe, oder von einzelnen Filtern zu tun haben.
    Stefan Sietzen, Einführung in Visual Computing VU Tutor
    _____________

    www.stefansietzen.at

  2. #2
    Principal
    Join Date
    Oct 2011
    Posts
    85
    Thanks
    13
    Thanked 12 Times in 5 Posts
    Sind die Kantenfilter immer Horizontal und Vertikal oder kann es passieren, dass nur eine Kern(vertikale bzw horizontale) verwendet wird? Und welche Parameter genau sollen wir bei den Kantenfiltern bestimmen?

  3. #3
    Baccalaureus
    Join Date
    Mar 2009
    Posts
    733
    Thanks
    20
    Thanked 157 Times in 141 Posts
    Hallo,

    Es ist möglich, dass nur horizontal oder nur vertikal gefilter wird. Bei den Kantendetektoren ist hauptsächlich der Name des Algorithmus und die Richtung in die gefiltert wird anzugeben.
    Bernhard Steiner
    [ECG & RTR Übungsleitung]

  4. #4
    Principal
    Join Date
    Oct 2010
    Posts
    72
    Thanks
    7
    Thanked 8 Times in 7 Posts
    Der Median-Filter liefert mir nicht das exakte Ergebnis : (
    Hab schon alle mögliche Filtergrößen ausprobiert.
    Kann es sein, dass man den Filter 2mal anwenden muss :/

  5. #5
    Baccalaureus
    Join Date
    Mar 2009
    Posts
    733
    Thanks
    20
    Thanked 157 Times in 141 Posts
    Bei einem Medianfilter nicht. Wenn das Ergebnis nicht passt, solltest du nochmal überprüfen obs wirklich ein Medianfilter ist (Medianfilter ist ja ein Sonderfall der Rangordnungsoperatoren).
    Bernhard Steiner
    [ECG & RTR Übungsleitung]

  6. #6
    Principal
    Join Date
    Oct 2011
    Posts
    85
    Thanks
    13
    Thanked 12 Times in 5 Posts
    Welchen Parameter sollen wir bei Kanten Schärfung und welchen bei Unsharp Masking eingeben?

  7. #7
    Baccalaureus
    Join Date
    Mar 2009
    Posts
    733
    Thanks
    20
    Thanked 157 Times in 141 Posts
    Edit: siehe nächster Post.
    Last edited by BDL!; 02-04-2012 at 20:12.
    Bernhard Steiner
    [ECG & RTR Übungsleitung]

  8. #8
    Baccalaureus
    Join Date
    Jan 2003
    Posts
    537
    Thanks
    3
    Thanked 91 Times in 59 Posts
    Quote Originally Posted by MikioBo View Post
    Welchen Parameter sollen wir bei Kanten Schärfung und welchen bei Unsharp Masking eingeben?
    Nein, bei Kantenschärfung ist auch der genaue Kernel anzugeben (numerisch == eine Matrix mit zahlen)! Bei Unsharp Masking ist der Kernel auch gefragt, nur muss es nicht mehr numerische Angabe sein.
    Of course I don't see textures as images. Who would?

    Einführung in Visual Computing VU Übungsleiter 2012
    Visualisierung LU Tutor 2005-2007

  9. #9
    Master
    Join Date
    Sep 2009
    Posts
    145
    Thanks
    18
    Thanked 21 Times in 14 Posts
    Eine MatLab Frage dazu: wie kann man Kantenfilter auf RGB-Images anwenden? edge(..) erlaubt ja nur 2dim Matrizen, also Graubilder. Geht das auf einfachem Wege? Oder muss man die Matrizen selbst berechnen (wo ich leider anhand des Buches was die praktische Anwendung angeht noch nicht weiter gekommen bin)?

  10. #10
    Baccalaureus
    Join Date
    Oct 2007
    Location
    Wien, 3. Bezirk
    Posts
    534
    Thanks
    17
    Thanked 29 Times in 24 Posts
    Quote Originally Posted by bluttraum View Post
    Eine MatLab Frage dazu: wie kann man Kantenfilter auf RGB-Images anwenden?
    imfilter mit fspecial (da gibts dann sobel und prewitt) oder du definierst dir den Kernel selbst (was ich persönlich empfehlen würde)
    Michael Beham
    Computer Vision WS 2012/13
    Einführung in Visual Computing SS2012, SS2013

  11. #11
    Master
    Join Date
    Sep 2009
    Posts
    145
    Thanks
    18
    Thanked 21 Times in 14 Posts
    das mit dem kernel selbst definieren habe ich noch nicht so ganz verstanden. Gx und Gy durch faltung errechnen ist mir klar, aber wie ich diese bilder dann zu einem gradientenbild zusammenfüge weiß ich noch nicht. und ist das gradientenbild dann auch schon das ergebnis? ich hab leider im internet keine hilfreichen beschreibungen gefunden, die verweisen auch meist nur auf fspecial. habt ihr da vielleicht einen hilfreichen link oder tipps?

  12. #12
    Hero
    Join Date
    Mar 2012
    Posts
    176
    Thanks
    1
    Thanked 32 Times in 31 Posts
    Quote Originally Posted by bluttraum View Post
    Eine MatLab Frage dazu: wie kann man Kantenfilter auf RGB-Images anwenden? edge(..) erlaubt ja nur 2dim Matrizen, also Graubilder. Geht das auf einfachem Wege? Oder muss man die Matrizen selbst berechnen (wo ich leider anhand des Buches was die praktische Anwendung angeht noch nicht weiter gekommen bin)?
    Wie du selbst gesagt hast geht edge(...) nur auf 2-dim Matrizen. Es gibt verschiedene Methoden, wie du dir dann das Gradientenbild berechnen kannst. Bei einem Bild mit mehreren Farbkanälen kannst du dir die Gradientenbilder für jeden Kanal einzeln berechnen und diese dann getrennt oder kombiniert behandeln. Oder du transformierst dein Bild zuerst in ein Grauwertbild (meist linear mit Grauwert= 0.2989*R+0.5870*G+0.1140*B) und wendest die Kandtenfilter auf das Grauwertbild an.

    Quote Originally Posted by bluttraum View Post
    Gx und Gy durch faltung errechnen ist mir klar, aber wie ich diese bilder dann zu einem gradientenbild zusammenfüge weiß ich noch nicht. und ist das gradientenbild dann auch schon das ergebnis? ich hab leider im internet keine hilfreichen beschreibungen gefunden, die verweisen auch meist nur auf fspecial. habt ihr da vielleicht einen hilfreichen link oder tipps?

    Wenn du das komplette Gradientenbild (Gx und Gy kombiniert) haben willst, so kannst du es machen wie es auf Wikipedia beschrieben ist: Link.
    Und ja, es ist eigentlich egal ob du dir den Kantenfilter mit h=fspecial('sobel'); definierst, oder du gleich h=[1 2 1; 0 0 0; -1 -2 -1];​ hinschreibst.
    -------------------------------------------------
    Cerman Martin

    EVC Tutor 2014

  13. #13
    Elite
    Join Date
    Oct 2011
    Posts
    318
    Thanks
    147
    Thanked 34 Times in 24 Posts
    muss man ein 100% Ergebnis erzielen? oder reicht ein 95% Ergebnis auch?

    habe für Alice ein 95% Ergebnis nur in der Kante wo Schwarz/Weis auf Weis/Schwarz trifft triffet es ein wenig ab

    muss ich das noch hin biegen?

  14. #14
    Baccalaureus da*vinci's Avatar
    Join Date
    Sep 2005
    Posts
    546
    Thanks
    5
    Thanked 95 Times in 79 Posts
    Quote Originally Posted by FA2007 View Post
    muss man ein 100% Ergebnis erzielen? oder reicht ein 95% Ergebnis auch?

    habe für Alice ein 95% Ergebnis nur in der Kante wo Schwarz/Weis auf Weis/Schwarz trifft triffet es ein wenig ab

    muss ich das noch hin biegen?
    nein ein 95% Ergebnis reicht nicht - hier eine Antwort von Martin Ilcik diesbezüglich.
    Ines Janusch
    -------------------------
    EVC Tutorin 2014

  15. #15
    Master EsseX07's Avatar
    Join Date
    Sep 2011
    Posts
    151
    Thanks
    29
    Thanked 11 Times in 9 Posts
    ich hab ein problem und komm leider nicht selbst auf die lösung
    hoffe ihr könnt mir da weiterhelfen:

    ich versuche einen gaußfilter anzuwenden... und ich hab denk ich schon eine ziemlich richtige lösung
    nur mein problem ist, dass ich immer einen grauen rand um das gefilterte bild bekomme.. und ich hab die werte schon geändert und es passiert trotzdem ständig...
    vl wisst ihr warum das ist bzw wie ich das umgehen kann...
    "Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life."

  16. #16
    Baccalaureus
    Join Date
    Mar 2009
    Posts
    733
    Thanks
    20
    Thanked 157 Times in 141 Posts
    Hallo,

    Wenn der Fehler sich immer nur auf die äußersten Pixel des Bildes bezieht entstehen diese vermutlich dadurch wie du den Rand behandelst. Bei imfilter kann man dies über eine Option ändern, siehe dazu hier (Bei Boundary Operations).
    Bernhard Steiner
    [ECG & RTR Übungsleitung]

  17. #17
    Principal
    Join Date
    May 2010
    Posts
    82
    Thanks
    16
    Thanked 14 Times in 7 Posts
    hab ich das richtig verstanden dass das Sigma beim Gaußfilter die Summe aller Gewichte des Filterkerns angibt?

  18. #18
    Baccalaureus
    Join Date
    Mar 2009
    Posts
    733
    Thanks
    20
    Thanked 157 Times in 141 Posts
    Hallo,

    Nein das ist nicht korrekt. Die Summe der Gewichte im Filterkern muss immer 1 sein, da sich sonst die Gesammthelligkeit der Szene verändern würde. Sigma beschreibt die Standardabweichung bei der Gaussschen Glockenkurve. Details kann man z.B.: auf Wikipedia nachlesen
    Bernhard Steiner
    [ECG & RTR Übungsleitung]

  19. #19
    Principal
    Join Date
    Nov 2011
    Posts
    96
    Thanks
    24
    Thanked 19 Times in 6 Posts
    Hey
    Ich wollte fragen wie ich beim gaußblur auf das exakte sigma kommt? Bzw wie genau muss das sein?
    Iwo hab ich gelesen man soll einen schätzwert nehmen und sich dann immer mehr annähern. Ich hab jetzt 0.8472. 100% zu stimmen scheint dass aber immer noch nicht.

  20. #20
    Principal
    Join Date
    Feb 2010
    Posts
    25
    Thanks
    0
    Thanked 2 Times in 2 Posts
    nein, du kannst ihn genau anhand der formel berechnen, wie sie z.b. auf http://de.wikipedia.org/wiki/Gaußfilter steht.
    Stefan Sietzen, Einführung in Visual Computing VU Tutor
    _____________

    www.stefansietzen.at

  21. The Following User Says Thank You to s---70 For This Useful Post:


  22. #21
    Baccalaureus da*vinci's Avatar
    Join Date
    Sep 2005
    Posts
    546
    Thanks
    5
    Thanked 95 Times in 79 Posts
    Ansich ist für eine volle Punktezahl ein 100% Match gewünscht. Das Ergebnis soll eher nicht durch probieren bzw. raten gefunden werden. Wenn du dir bezüglich der Filtergröße sicher bist, kannst du mit der in den Folien zur Übungsbesprechung (siehe TISS) gezeigten Methode den genauen Filterkern bestimmen. Du kannst dann als Lösung Filterart und den genauen Filterkern angeben.
    Ines Janusch
    -------------------------
    EVC Tutorin 2014

  23. #22
    Principal
    Join Date
    May 2010
    Posts
    82
    Thanks
    16
    Thanked 14 Times in 7 Posts
    Heißt also dass wir, z.b.: wenn Gaußfilter vorliegt, uns die Angabe von Sigma sparen können?
    Last edited by forumlol; 06-04-2012 at 12:09. Reason: Satzzeichen ftw

  24. #23
    Baccalaureus
    Join Date
    Jan 2003
    Posts
    537
    Thanks
    3
    Thanked 91 Times in 59 Posts
    Quote Originally Posted by forumlol View Post
    Heißt also dass wir, z.b.: wenn Gaußfilter vorliegt, uns die Angabe von Sigma sparen können?
    Nein! Wie bist du darauf gekommen?
    Of course I don't see textures as images. Who would?

    Einführung in Visual Computing VU Übungsleiter 2012
    Visualisierung LU Tutor 2005-2007

  25. #24
    Principal
    Join Date
    May 2010
    Posts
    82
    Thanks
    16
    Thanked 14 Times in 7 Posts
    Quote Originally Posted by da*vinci View Post
    Du kannst dann als Lösung Filterart und den genauen Filterkern angeben.
    Durch eine großzügige Interpretation dieses Satzes

    PS.: Lob an die Tutoren für die Lichtgeschwindigkeits-Antworten

  26. #25
    Baccalaureus
    Join Date
    Jan 2003
    Posts
    537
    Thanks
    3
    Thanked 91 Times in 59 Posts
    Vielleicht sollte ich das in der Angabe besser spezifizieren.
    Of course I don't see textures as images. Who would?

    Einführung in Visual Computing VU Übungsleiter 2012
    Visualisierung LU Tutor 2005-2007

  27. #26
    Principal
    Join Date
    Oct 2008
    Posts
    58
    Thanks
    32
    Thanked 1 Time in 1 Post
    Quote Originally Posted by s---70 View Post
    nein, du kannst ihn genau anhand der formel berechnen, wie sie z.b. auf http://de.wikipedia.org/wiki/Gaußfilter steht.
    Aber steht bei der Angabe nicht dabei, dass die Parameter maximal eine Dezimalstelle haben?

  28. #27
    Baccalaureus
    Join Date
    Jan 2003
    Posts
    537
    Thanks
    3
    Thanked 91 Times in 59 Posts
    Quote Originally Posted by Honk5000 View Post
    Aber steht bei der Angabe nicht dabei, dass die Parameter maximal eine Dezimalstelle haben?
    Und?
    Of course I don't see textures as images. Who would?

    Einführung in Visual Computing VU Übungsleiter 2012
    Visualisierung LU Tutor 2005-2007

  29. #28
    Principal
    Join Date
    Oct 2008
    Posts
    58
    Thanks
    32
    Thanked 1 Time in 1 Post
    Quote Originally Posted by Odo View Post
    Und?
    Wenn ich Sigma mit nur einer Dezimalstelle wähle ist es bei mit nicht zu 100% richtig. Ich komme dann manchmal bei ein paar Pixel auf eine minimale Abweichung.

    Wenn ich den Faltungskern wie in den Folien beschrieben berechne und anwende, dann würde es passen, aber ich weiß nicht, wie ich aus dem Faltungskern auf mein Sigma kommen soll.

  30. #29
    Hero
    Join Date
    Apr 2007
    Posts
    190
    Thanks
    42
    Thanked 12 Times in 5 Posts
    Falls die Blackbox eine Faltung anwendet, werden die Randpunkte des Bildes verdoppelt. Dadurch kann die Faltung auf Zeilen und Spalten außerhalb des Bildes problemlos zugreifen.
    Dieser Angabenteil ist mir nicht ganz klar: Wendet nicht jeder Filter grundsätzlich eine Art von Faltung an? Und inwiefern werden die Randpunkte "verdoppelt"? Ist hier die Rede von einer symmetrischen Randbehandlung/Spiegelung? Wenn ja, ist diese nicht nur eine der Möglichkeiten, die in der Übung vorkommen können (z.B. zyklische Randbehandlung oder die Annahme, alle Pixel außerhalb des eigentlichen Bildes hätten den Farbwert 0 könnten ja auch auftreten)?

  31. #30
    Baccalaureus
    Join Date
    Jan 2003
    Posts
    537
    Thanks
    3
    Thanked 91 Times in 59 Posts
    Quote Originally Posted by Honk5000 View Post
    Wenn ich Sigma mit nur einer Dezimalstelle wähle ist es bei mit nicht zu 100% richtig. Ich komme dann manchmal bei ein paar Pixel auf eine minimale Abweichung.

    Wenn ich den Faltungskern wie in den Folien beschrieben berechne und anwende, dann würde es passen, aber ich weiß nicht, wie ich aus dem Faltungskern auf mein Sigma kommen soll.
    Achso... dann hast du es eh richtig. Die Abweichung ensteht wenn der Kernel auf eine endliche Größe (z.B. 11x11) abgebildet wird. Das Verfahren, das die Blackboxes verwenden, unterscheidet von dem vom Matlab.
    Last edited by Odo; 06-04-2012 at 16:20. Reason: quote added
    Of course I don't see textures as images. Who would?

    Einführung in Visual Computing VU Übungsleiter 2012
    Visualisierung LU Tutor 2005-2007

  32. #31
    Baccalaureus
    Join Date
    Jan 2003
    Posts
    537
    Thanks
    3
    Thanked 91 Times in 59 Posts
    Quote Originally Posted by OldMacMario View Post
    Dieser Angabenteil ist mir nicht ganz klar: Wendet nicht jeder Filter grundsätzlich eine Art von Faltung an? Und inwiefern werden die Randpunkte "verdoppelt"? Ist hier die Rede von einer symmetrischen Randbehandlung/Spiegelung? Wenn ja, ist diese nicht nur eine der Möglichkeiten, die in der Übung vorkommen können (z.B. zyklische Randbehandlung oder die Annahme, alle Pixel außerhalb des eigentlichen Bildes hätten den Farbwert 0 könnten ja auch auftreten)?
    Jeder Filter ist eine Faltung, nicht alle Blackboxes sind aber Filter!

    Die Randpunkte werden ohne Spiegelung verdoppelt. Wenn also (0,0) gelb ist und eine Faltung z.B. auf (-k, 0) für alle k > 0 zugreifen möchte, werden alle solche Bildpunkte auch als gelb betrachtet.
    Of course I don't see textures as images. Who would?

    Einführung in Visual Computing VU Übungsleiter 2012
    Visualisierung LU Tutor 2005-2007

  33. #32
    Principal
    Join Date
    Nov 2011
    Posts
    96
    Thanks
    24
    Thanked 19 Times in 6 Posts
    Kann mir jemand sagen wie man in Matlab einen Mittelwertfilter implementiert?

  34. #33
    Baccalaureus
    Join Date
    Jan 2003
    Posts
    537
    Thanks
    3
    Thanked 91 Times in 59 Posts
    Quote Originally Posted by Apfelmann View Post
    Kann mir jemand sagen wie man in Matlab einen Mittelwertfilter implementiert?
    imfilter(image, kernel);
    Of course I don't see textures as images. Who would?

    Einführung in Visual Computing VU Übungsleiter 2012
    Visualisierung LU Tutor 2005-2007

  35. #34
    Hero
    Join Date
    Apr 2007
    Posts
    190
    Thanks
    42
    Thanked 12 Times in 5 Posts
    Quote Originally Posted by Odo View Post
    Jeder Filter ist eine Faltung, nicht alle Blackboxes sind aber Filter!

    Die Randpunkte werden ohne Spiegelung verdoppelt. Wenn also (0,0) gelb ist und eine Faltung z.B. auf (-k, 0) für alle k > 0 zugreifen möchte, werden alle solche Bildpunkte auch als gelb betrachtet.
    Dann werden die Randpunkte quasi unbegrenzt vervielfacht und nicht nur verdoppelt, oder? Wenn z.B. dieser (0,0)-Pixel betrachtet wird und die zugehörige Faltung z.B. sieben Pixel links davon betrachtet, dann werden diese alle als genauso wie der (0,0)-Pixel gefärbt angenommen? Und das wird bei jedem Filter genau so gemacht?

    Hat es dann gar keinen Sinn, bei einem Filter im Abgabetext die Randbehandlung zu spezifizieren, weil es immer dieser "Verdopplungs"-Fall ist (Was mich jetzt irgendwie verwirrt, da es mir schien, dass mir bisher in der Übung schon andere Randbehandlungen wie eben zyklisch oder gespiegelt unterkamen)? Und hat diese Art der Randbehandlung einen speziellen Namen bzw. gäbe es evtl. ein Matlab-Kommando dazu?

  36. #35
    Baccalaureus
    Join Date
    Jan 2003
    Posts
    537
    Thanks
    3
    Thanked 91 Times in 59 Posts
    Ja, es wird unbegrenzt vervielfacht und diese Randbehandlung verwenden alle Blackboxes.

    Randbehandlung im Abgabetext ist nicht gefragt
    Of course I don't see textures as images. Who would?

    Einführung in Visual Computing VU Übungsleiter 2012
    Visualisierung LU Tutor 2005-2007

  37. The Following User Says Thank You to Odo For This Useful Post:


  38. #36
    Master
    Join Date
    Sep 2009
    Posts
    145
    Thanks
    18
    Thanked 21 Times in 14 Posts
    Frage zum Filter Fred: Um das Ergebnis für 16Bit auch wirklich 100%ig genau zu haben, müsste ich doch ein Bild mit 2^16 verschiedenen Abstufungen haben (um das Spoilern zu vermeiden beschreib ich das Bild nicht näher). Jedoch wäre das Bild dann recht groß bzw wenn nicht, dann schwer auch wirklich alle Abstufungen drin zu haben und dadurch das Ergebnis zu bekommen? Oder liegt da ein Denkfehler meinerseits vor?

  39. #37
    Baccalaureus
    Join Date
    Oct 2007
    Location
    Wien, 3. Bezirk
    Posts
    534
    Thanks
    17
    Thanked 29 Times in 24 Posts
    Quote Originally Posted by bluttraum View Post
    Frage zum Filter Fred: Um das Ergebnis für 16Bit auch wirklich 100%ig genau zu haben, müsste ich doch ein Bild mit 2^16 verschiedenen Abstufungen haben (um das Spoilern zu vermeiden beschreib ich das Bild nicht näher). Jedoch wäre das Bild dann recht groß bzw wenn nicht, dann schwer auch wirklich alle Abstufungen drin zu haben und dadurch das Ergebnis zu bekommen? Oder liegt da ein Denkfehler meinerseits vor?
    Du könntest das Problem einfach auf mehrere Bilder aufteilen, also näherungsweise lösen.
    Michael Beham
    Computer Vision WS 2012/13
    Einführung in Visual Computing SS2012, SS2013

  40. #38
    Baccalaureus
    Join Date
    Jan 2003
    Posts
    537
    Thanks
    3
    Thanked 91 Times in 59 Posts
    Quote Originally Posted by bluttraum View Post
    Frage zum Filter Fred: Um das Ergebnis für 16Bit auch wirklich 100%ig genau zu haben, müsste ich doch ein Bild mit 2^16 verschiedenen Abstufungen haben (um das Spoilern zu vermeiden beschreib ich das Bild nicht näher). Jedoch wäre das Bild dann recht groß bzw wenn nicht, dann schwer auch wirklich alle Abstufungen drin zu haben und dadurch das Ergebnis zu bekommen? Oder liegt da ein Denkfehler meinerseits vor?
    Ein solches Bild ist 255x255 groß... ist ja nicht so viel oder?
    Of course I don't see textures as images. Who would?

    Einführung in Visual Computing VU Übungsleiter 2012
    Visualisierung LU Tutor 2005-2007

  41. #39
    Master
    Join Date
    Sep 2009
    Posts
    145
    Thanks
    18
    Thanked 21 Times in 14 Posts
    Also ist solche Genauigkeit wirklich gewünscht? Dann fällt mir gerade keine Möglichkeit ein, außer eine MatLab-Funktion zu schreiben um ein so fein und genau abgestuftes Bild zu erstellen..

  42. #40
    Baccalaureus
    Join Date
    Jan 2003
    Posts
    537
    Thanks
    3
    Thanked 91 Times in 59 Posts
    Quote Originally Posted by bluttraum View Post
    Also ist solche Genauigkeit wirklich gewünscht? Dann fällt mir gerade keine Möglichkeit ein, außer eine MatLab-Funktion zu schreiben um ein so fein und genau abgestuftes Bild zu erstellen..
    Du kannst beliebige Programmiersprache dafür nehmen
    Of course I don't see textures as images. Who would?

    Einführung in Visual Computing VU Übungsleiter 2012
    Visualisierung LU Tutor 2005-2007

  43. #41
    Principal
    Join Date
    Feb 2010
    Posts
    25
    Thanks
    0
    Thanked 2 Times in 2 Posts
    da man in Matlab Matrizen auch wie Vektoren ansprechen kann, ist das eigentlich mit einer einzigen Zeile zu bewerkstelligen ;-)
    Last edited by s---70; 06-04-2012 at 19:56.
    Stefan Sietzen, Einführung in Visual Computing VU Tutor
    _____________

    www.stefansietzen.at

  44. #42
    Master
    Join Date
    Sep 2009
    Posts
    145
    Thanks
    18
    Thanked 21 Times in 14 Posts
    Ich habs schon geschafft, habe nur festgestellt, dass Photoshop trotz 16-Bit Bild und 16-Bit Farbanzeige einen Sprung zwischen 0 und 3 macht, obwohl in der Matrix (und auch nach erneutem Einlesen eines gespeicherten TIFFs) ein klares 0 1 2 3 drin ist......
    Dadurch habe ich zumindest jetzt den genauen Wert feststellen können, da wirklich alle 2^16 Abstufungen vorkommen. Nur leider ist der Wert für ein Bild das ich schon vor längerer Zeit hochgeladen habe falsch, was ich mir nicht erklären kann. Ich werd aber alles in die erste Tutorensprechstunde nach den "Ferien" mitnehmen

  45. #43
    Elite OphiuchuS's Avatar
    Join Date
    Oct 2009
    Posts
    353
    Thanks
    31
    Thanked 29 Times in 15 Posts
    Ich hab noch nicht genau verstanden ab wann eine Lösung richtig ist. ZB habe ich einen Kernel erstellt, bei dem bei 'kleinen' Bilder (8x8) die beiden Matrizen exakt gleich sind (isequal(A,B)=1). Bei einem 'großen' Bild (400x700) stimmen die beiden Bilder nicht mehr genau überein. Im konkreten Fall beträgt die Differenz (gebildet mit sum(A( : )) 10637.

    Zweitens bezüglich der Lösung: muss man sowas schreiben wie 'Der Kernel lautet 1/4*[1 2 3; 4 5 6; 7 8 9]', oder 'Der Filter ist ein Gauss-Filter mit Fenstergröße [3 3] und s=0.8'?

  46. #44
    Baccalaureus
    Join Date
    Jan 2003
    Posts
    537
    Thanks
    3
    Thanked 91 Times in 59 Posts
    Quote Originally Posted by OphiuchuS View Post
    Ich hab noch nicht genau verstanden ab wann eine Lösung richtig ist. ZB habe ich einen Kernel erstellt, bei dem bei 'kleinen' Bilder (8x8) die beiden Matrizen exakt gleich sind (isequal(A,B)=1). Bei einem 'großen' Bild (400x700) stimmen die beiden Bilder nicht mehr genau überein. Im konkreten Fall beträgt die Differenz (gebildet mit sum(A( : )) 10637.
    Das ist seltsam. Ist der Kernel nicht größer als 8x8?

    Zweitens bezüglich der Lösung: muss man sowas schreiben wie 'Der Kernel lautet 1/4*[1 2 3; 4 5 6; 7 8 9]', oder 'Der Filter ist ein Gauss-Filter mit Fenstergröße [3 3] und s=0.8'?
    Am besten ist beides
    Of course I don't see textures as images. Who would?

    Einführung in Visual Computing VU Übungsleiter 2012
    Visualisierung LU Tutor 2005-2007

  47. #45
    Elite OphiuchuS's Avatar
    Join Date
    Oct 2009
    Posts
    353
    Thanks
    31
    Thanked 29 Times in 15 Posts
    Quote Originally Posted by Odo View Post
    Das ist seltsam. Ist der Kernel nicht größer als 8x8?
    Nein, der Kernel ist 3x3...

  48. #46
    Baccalaureus
    Join Date
    Jan 2003
    Posts
    537
    Thanks
    3
    Thanked 91 Times in 59 Posts
    Für verschiedene Blackboxes kann es verschiedene Fehler bedeuten.
    Of course I don't see textures as images. Who would?

    Einführung in Visual Computing VU Übungsleiter 2012
    Visualisierung LU Tutor 2005-2007

  49. #47
    Elite OphiuchuS's Avatar
    Join Date
    Oct 2009
    Posts
    353
    Thanks
    31
    Thanked 29 Times in 15 Posts
    Auf die Gefahr hin, begriffsstutzig zu wirken: Man kann sich nur sicher sein, dass man die richtigen Parameter gefunden hat, wenn jedes Bild, auf dem man den eigenen Filter angewendet hat, EXAKT bis auf den letzten Pixel mit dem Ausgabebild übereinstimmt? Also wenn isequal(A,B)=1 ergibt?

  50. #48
    Principal
    Join Date
    Nov 2011
    Posts
    96
    Thanks
    24
    Thanked 19 Times in 6 Posts
    @OphiuchuS
    Beim Rand kann es zu Abweichungen kommen, soweit ich das mitgekriegt habe.

    Ich hätte da noch zwei Matlab Fragen, zum einen "Es bieten sich dann verschiedene Möglichkeiten zur Darstellung an: Nur negative oder positive Werte zeigen und den Rest auf 0 abbilden, das Intervall <-max_intensity, max_intensity> auf <0, max_intensity> abbilden durch x/2 + max_intensity/2, oder nur das Ausmaß zeigen."
    Wie lässt sich das in Matlab umsetzten??
    Bei einem anderen Beispiel bin ich mir ziemlich sicher dass es sich um
    Eckendetektion handelt, ich hab auch nach längerem Google noch nicht gefunden wie ich Eckendetektion in Matlab machen kann. Gibts eine Funktion für z.B. den Harris Eckendetekter?

  51. #49
    Hero
    Join Date
    Jan 2011
    Location
    Krems
    Posts
    197
    Thanks
    33
    Thanked 20 Times in 15 Posts
    Ich habe Schwierigkeiten bei Dana den richtigen Kernel zu finden, obwohl ich weiß welcher Filter eingesetzt wird. Bei einfachen Testbildern kann man zwar schnell mal auf einen Kernel kommen der richtig erscheint, aber bei größeren, detailreichen Bildern versagt. Mit der Methode von den Folien bin ich bei diesem Beispiel gescheitert, was wahrscheinlich daran liegt, das der Kernel negative Einträge enthält und mir die Blackbox nur Pixelwerte im Bereich [0,255] liefert. Könnte mir bitte jemand einen Tipp geben?

    Dasselbe Problem hatte ich bei Bob wo ich mit meinem Kernel haargenau auf das Blackbox-Resultat meines "1-weißer-Pixel-in-der-Mitte"-Testbildes kam, bei einem "real-life"-Bild jedoch wieder teilweise (vor allem an Kanten) scheiterte. Ist das darauf zurückzuführen, dass Matlab double-Filter benutzt oder ein Fehler meinerseits?

    PS: Bei Bob habe ich einen fspecial-generierten Filter benutzt (wie bereits angemerkt brachte dieser aber trotzdem bei einem weißen Pixel das richtige Ergebnis)

    Danke!

  52. #50
    Hero
    Join Date
    Jan 2011
    Location
    Krems
    Posts
    197
    Thanks
    33
    Thanked 20 Times in 15 Posts
    @Apfelmann:
    Es gibt in Matlab die Funktion edge(), die (glaube ich) defaultmäßig den Harris-Detektor anwendet.

    EDIT

    Die Funktion heißt natürlich corner() und nicht edge()!
    Last edited by Mobe; 07-04-2012 at 18:33.

  53. #51
    Baccalaureus
    Join Date
    Jan 2003
    Posts
    537
    Thanks
    3
    Thanked 91 Times in 59 Posts
    Quote Originally Posted by OphiuchuS View Post
    Auf die Gefahr hin, begriffsstutzig zu wirken: Man kann sich nur sicher sein, dass man die richtigen Parameter gefunden hat, wenn jedes Bild, auf dem man den eigenen Filter angewendet hat, EXAKT bis auf den letzten Pixel mit dem Ausgabebild übereinstimmt? Also wenn isequal(A,B)=1 ergibt?
    Die Bildpunkte am Rand kannst du ignorieren. Die Breite des Randes ist Kernel/2. Alles im Inneren des Bildes sollte eine Abweichung < 1.0 aufweisen.
    Of course I don't see textures as images. Who would?

    Einführung in Visual Computing VU Übungsleiter 2012
    Visualisierung LU Tutor 2005-2007

  54. #52
    Baccalaureus
    Join Date
    Jan 2003
    Posts
    537
    Thanks
    3
    Thanked 91 Times in 59 Posts
    Quote Originally Posted by Apfelmann View Post
    @OphiuchuS
    Beim Rand kann es zu Abweichungen kommen, soweit ich das mitgekriegt habe.

    Ich hätte da noch zwei Matlab Fragen, zum einen "Es bieten sich dann verschiedene Möglichkeiten zur Darstellung an: Nur negative oder positive Werte zeigen und den Rest auf 0 abbilden, das Intervall <-max_intensity, max_intensity> auf <0, max_intensity> abbilden durch x/2 + max_intensity/2, oder nur das Ausmaß zeigen."
    Wie lässt sich das in Matlab umsetzten??
    Händisch das Resultat des Filters nachbearbeiten

    Bei einem anderen Beispiel bin ich mir ziemlich sicher dass es sich um Eckendetektion handelt, ich hab auch nach längerem Google noch nicht gefunden wie ich Eckendetektion in Matlab machen kann. Gibts eine Funktion für z.B. den Harris Eckendetekter?
    Den Kernel angeben und mit imfilter anwenden.
    Of course I don't see textures as images. Who would?

    Einführung in Visual Computing VU Übungsleiter 2012
    Visualisierung LU Tutor 2005-2007

  55. #53
    Baccalaureus soad's Avatar
    Join Date
    Apr 2002
    Posts
    505
    Thanks
    18
    Thanked 20 Times in 19 Posts
    Quote Originally Posted by Mobe View Post
    @Apfelmann:
    Es gibt in Matlab die Funktion edge(), die (glaube ich) defaultmäßig den Harris-Detektor anwendet.
    edge verwendet defaultmäßig einen Sobel-Kern.

  56. #54
    Hero
    Join Date
    Jan 2011
    Location
    Krems
    Posts
    197
    Thanks
    33
    Thanked 20 Times in 15 Posts
    Quote Originally Posted by soad View Post
    edge verwendet defaultmäßig einen Sobel-Kern.
    Sorry meinte natürlich die corner()-Funktion.

  57. #55
    Baccalaureus Vendredi's Avatar
    Join Date
    Jan 2011
    Posts
    998
    Thanks
    484
    Thanked 187 Times in 125 Posts
    Frohe Ostern erstmal!

    Bei mir hapert es am Verständnis bezüglich des Gaußfilters. Wie komme ich vom Kernel auf das Sigma? Da muss es doch einen genaueren Weg als "ungefähr, pi mal daumen annähern" geben. Irgendeine Formel mit der ich es genau bestimmen kann oder so, vielleicht?!
    “Fantasy is hardly an escape from reality. It's a way of understanding it.” - Lloyd Alexander

    “The more I see of what you call civilization, the more highly I think of what you call savagery!” - Robert E. Howard, King Kull

  58. #56
    Master
    Join Date
    Oct 2009
    Posts
    145
    Thanks
    6
    Thanked 17 Times in 14 Posts
    Wenn du bereits weißt, dass es sich um einen Gaußfilter handelt, kannst das Sigma leicht rechnerisch mithilfe der Dichtefunktion der Gaußverteilung bestimmen.

    Siehe auch Post #19 und #20

  59. The Following User Says Thank You to Manuel89 For This Useful Post:


  60. #57
    Baccalaureus Vendredi's Avatar
    Join Date
    Jan 2011
    Posts
    998
    Thanks
    484
    Thanked 187 Times in 125 Posts
    so wird das bei mir nichts. Ich versuch jetzt mein Glück im Forum, und nicht direkt per PN an nen Tutor. Ich bemühe mich nicht zuviel zu spoilern, aber das ist bei meinem Fortschritt wahrscheinlich ohnehin absurd.

    Mein Vorgehen bisher:
    Eingabe und Ausgabebild miteinander vergleichen. Ich subtrahiere das eingabebild vom ausgabebild um so unterschiede in der matrix feststellen zu können. Dann errechne ich mir den Kernel indem ich schaue: Welcher Wert stand vorher an der Stelle in der Matrix und welcher Wert steht jetzt drinnen. Dann stell ich ne Gleichung auf und schau, mit welchem Faktor ich multiplizieren muss um auf diesen Wert zu kommen.

    Hab mir dann nen Kernel als Matrix erstellt und versuche vergebens diesen Kernel auf das Eingabebild anzuwenden. Ich weiß nicht mehr was ich falsch mache, bzw. vielleicht ist ja doch meine Denkweise generell falsch?!

    Code:
    >> c = conv2(si, kernel, 'same');
    Warning: CONV2 on values of class UINT8 is obsolete.
             Use CONV2(DOUBLE(A),DOUBLE(B)) or
             CONV2(SINGLE(A),SINGLE(B)) instead. 
    > In uint8.conv2 at 11 
    Undefined function 'conv2' for input arguments of type
    'double' and attributes 'full 3d real'.
    
    Error in uint8/conv2 (line 18)
    y = conv2(varargin{:});
     
    >> c = conv2(DOUBLE(si), kernel, 'same');
    Undefined function 'DOUBLE' for input arguments of type
    'uint8'.
     
    >> c = conv2(DOUBLE(si), DOUBLE(kernel), 'same');
    Undefined function 'DOUBLE' for input arguments of type
    'uint8'.
    Ich krieg das blöde conv2 einfach nicht hin und bin mit meinem Latein soweit am Ende, dass ich dieses Fach gerade am liebsten hinschmeißen würde.

    Zuviel gespoilert? Dann bitte per PN melden. Es is halt zach, wenn man wo hängt und nicht weiß wieviel man fragen darf. Per PN dauert es verständlicherweise länger und ich weiß nicht ob das für die TutorInnen angenehm ist.

    Freundliche Grüße und Frohe Ostern
    Vendredi
    “Fantasy is hardly an escape from reality. It's a way of understanding it.” - Lloyd Alexander

    “The more I see of what you call civilization, the more highly I think of what you call savagery!” - Robert E. Howard, King Kull

  61. #58
    Baccalaureus
    Join Date
    Jan 2003
    Posts
    537
    Thanks
    3
    Thanked 91 Times in 59 Posts
    Verwende lieber imfilter statt conv2.

    Es gibt keine DOUBLE Funktion im Matlab, lediglich double.
    Last edited by Odo; 08-04-2012 at 13:03.
    Of course I don't see textures as images. Who would?

    Einführung in Visual Computing VU Übungsleiter 2012
    Visualisierung LU Tutor 2005-2007

  62. The Following User Says Thank You to Odo For This Useful Post:


  63. #59
    Baccalaureus Vendredi's Avatar
    Join Date
    Jan 2011
    Posts
    998
    Thanks
    484
    Thanked 187 Times in 125 Posts
    Quote Originally Posted by Odo View Post
    Verwende lieber imfilter statt conv2.
    Gut, dann wende ich imfilter auf das Eingabebild an. Jetzt vergleich ich dieses neue Bild mit dem ursprünglichen Ausgabebild.

    Zwei Probleme bleiben jetzt noch. Der Wert für meinen Kernel hätte eigentlich 9 Nachkommastellen (mindestens), wenn ich jetzt nur mit einer Nachkommastelle rechne, kommt nicht das korrekte Ergebnis raus, wenn ich aber mit den ganzen 9 Stellen rechne (Matlab nutzt eh nur 4 davon) dann schon.

    Was heißt das jetzt für meine Abgabe? Ich geb nur "x.y" an, aber für meine Probe mittels imfilter darf ich schon "x.y1y2y3y4" verwenden?

    So würde es nämlich stimmen. imfilter gibt mir 1:1 das Ausgabild aus (geprüft mittels isequal())

    Hab ich jetzt nen Volltreffer gelandet und mir fehlt "nur" mehr das Sigma?
    “Fantasy is hardly an escape from reality. It's a way of understanding it.” - Lloyd Alexander

    “The more I see of what you call civilization, the more highly I think of what you call savagery!” - Robert E. Howard, King Kull

  64. #60
    Baccalaureus
    Join Date
    Jan 2003
    Posts
    537
    Thanks
    3
    Thanked 91 Times in 59 Posts
    Quote Originally Posted by Vendredi View Post
    Der Wert für meinen Kernel
    Was bedeutet das? Welchen Wert meinst du??

    Quote Originally Posted by Vendredi View Post
    (Matlab nutzt eh nur 4 davon)
    Um Himmels Willen wie bist du darauf gekommen?
    Of course I don't see textures as images. Who would?

    Einführung in Visual Computing VU Übungsleiter 2012
    Visualisierung LU Tutor 2005-2007

  65. #61
    Baccalaureus Vendredi's Avatar
    Join Date
    Jan 2011
    Posts
    998
    Thanks
    484
    Thanked 187 Times in 125 Posts
    Quote Originally Posted by Odo View Post
    Was bedeutet das? Welchen Wert meinst du??
    Der der in der Matrix des Kernels beim Gaußfilter an jeder Stelle steht.

    Quote Originally Posted by Odo View Post
    Um Himmels Willen wie bist du darauf gekommen?
    9 Stellen eingegeben, nach 4 schneidet Matlab automatisch ab. Ergo: Mehr als 4 Stellen nach dem Komma gehen nicht.
    “Fantasy is hardly an escape from reality. It's a way of understanding it.” - Lloyd Alexander

    “The more I see of what you call civilization, the more highly I think of what you call savagery!” - Robert E. Howard, King Kull

  66. #62
    Baccalaureus
    Join Date
    Jan 2003
    Posts
    537
    Thanks
    3
    Thanked 91 Times in 59 Posts
    Quote Originally Posted by Vendredi View Post
    Der der in der Matrix des Kernels beim Gaußfilter an jeder Stelle steht.
    Das ist leider eine ganz falsche Interpretation der Angabe. Es gibt keinen Grund wieso die Elemente des Kernels nur eine Nachkommastelle haben sollten. Das heißt eigentlich, dass deine Lösung stimmen wird


    Quote Originally Posted by Vendredi View Post
    9 Stellen eingegeben, nach 4 schneidet Matlab automatisch ab. Ergo: Mehr als 4 Stellen nach dem Komma gehen nicht.
    Wenn du mit Doppelklick im Variablenfenster die Ansicht einer Variable öffnest, wirst du sehen dass deine Beobachtung falsch ist. Vielleicht noch ein Beweis dazu:

    Code:
    a = 0.000000001 %sollte laut deiner Aussage auf 0.0 abgeschnitten werden
    b = a * 100000000 %sollte dann also 0 ergeben, tut es aber nicht! QED
    Last edited by Odo; 08-04-2012 at 14:55.
    Of course I don't see textures as images. Who would?

    Einführung in Visual Computing VU Übungsleiter 2012
    Visualisierung LU Tutor 2005-2007

  67. The Following User Says Thank You to Odo For This Useful Post:


  68. #63
    Baccalaureus Vendredi's Avatar
    Join Date
    Jan 2011
    Posts
    998
    Thanks
    484
    Thanked 187 Times in 125 Posts
    Hmm, my bad. Es zeigt (in der Matrix) nur mehr 4 Stellen an, rechnet aber brav mit allen
    Und doppeltes my bad, nur das Sigma sollte nur 1 Nachkommastelle haben. (Steht in einem anderen Thread). Beim Kernel darf ich also ruhig alle angeben.

    Dankeschön. Wenn das soweit stimmt, dann bleibt noch Sigma und 9 weitere Beispiele. Juhu!
    “Fantasy is hardly an escape from reality. It's a way of understanding it.” - Lloyd Alexander

    “The more I see of what you call civilization, the more highly I think of what you call savagery!” - Robert E. Howard, King Kull

  69. #64
    Principal
    Join Date
    Oct 2010
    Posts
    72
    Thanks
    7
    Thanked 8 Times in 7 Posts
    http://www.mathworks.de/help/toolbox...mcontrast.html

    Dieses Tool funktioniert bei mir nicht wirklich : /
    Wenn ich auf 'Adjust Data' klicke ändert sich kein Wert in der Matrix

  70. #65
    Baccalaureus soad's Avatar
    Join Date
    Apr 2002
    Posts
    505
    Thanks
    18
    Thanked 20 Times in 19 Posts
    Quote Originally Posted by Vendredi View Post
    9 Stellen eingegeben, nach 4 schneidet Matlab automatisch ab. Ergo: Mehr als 4 Stellen nach dem Komma gehen nicht.
    4 Nachkommastellen sind das Standardausgabeformat von Matlab und lässt sich mit dem Befehl FORMAT, z.B. format long ändern.

  71. #66
    Baccalaureus soad's Avatar
    Join Date
    Apr 2002
    Posts
    505
    Thanks
    18
    Thanked 20 Times in 19 Posts
    Quote Originally Posted by goran View Post
    Dieses Tool funktioniert bei mir nicht wirklich : /
    Wenn ich auf 'Adjust Data' klicke ändert sich kein Wert in der Matrix
    IMCONTRAST arbeitet auch nicht direkt auf den Matrixdaten. Eine Möglichkeit, die geänderten Daten in den Workspace zu bekommen, wäre mit Hilfe von GETIMAGE:
    Code:
    bild = getimage;

  72. #67
    Principal
    Join Date
    Oct 2011
    Posts
    85
    Thanks
    13
    Thanked 12 Times in 5 Posts
    Welche Parameter sollen wir bei Segmentationsfilter eingeben?

  73. #68
    Baccalaureus
    Join Date
    Jan 2003
    Posts
    537
    Thanks
    3
    Thanked 91 Times in 59 Posts
    Hier ist eine längere Beschreibung am besten. Gefragt sind die Parameter, die den Filter genau spezifizieren. D.h., ich könnte es anhand deiner Lösung exakt nachbauen. Wichtige Parameter wären also (mindestens): Der Name/Prinzip des Verfahrens, Startparameter, Regiondefinition (was wird als eine Region betrachtet und was nicht mehr), Abfolge der Regionen...
    Of course I don't see textures as images. Who would?

    Einführung in Visual Computing VU Übungsleiter 2012
    Visualisierung LU Tutor 2005-2007

  74. #69
    Principal
    Join Date
    May 2010
    Posts
    82
    Thanks
    16
    Thanked 14 Times in 7 Posts
    huhu,

    ich bräuchte bisschen Hilfestellung bei der Gaußverteilung, sitz jetzt schon länger dran aber komm nicht drauf...

    im Skript S.44 wird ja die Gauß-Gewichtung in 2D beschrieben. Meinem Verständnis nach sollte G(x,y) ja die Werte im Filterkern an der Stelle (x,y) errechnen (z.B mit x = -1,0,1 und y = -1,0,1 bei einem 3x3 Filterkern).

    Also entweder bin ich zu blöd des auszurechnen oder ist meine Überlegung falsch?? Ich komme mit dieser Art der Berechnung nämlich nicht auf den im Buch mit Sigma = 1 beschriebenen 3x3 Filterkern --> 1/16 * (1,2,1;2,4,2;1,2,1)

    thx im Voraus

  75. #70
    Baccalaureus soad's Avatar
    Join Date
    Apr 2002
    Posts
    505
    Thanks
    18
    Thanked 20 Times in 19 Posts
    Quote Originally Posted by forumlol View Post
    Also entweder bin ich zu blöd des auszurechnen oder ist meine Überlegung falsch?? Ich komme mit dieser Art der Berechnung nämlich nicht auf den im Buch mit Sigma = 1 beschriebenen 3x3 Filterkern --> 1/16 * (1,2,1;2,4,2;1,2,1)
    Der Filterkern liegt einer Binomialverteilung zugrunde, d.h. es wird einen Gaußfilter approximiert.

  76. #71
    Principal
    Join Date
    May 2010
    Posts
    82
    Thanks
    16
    Thanked 14 Times in 7 Posts
    Quote Originally Posted by soad View Post
    Der Filterkern liegt einer Binomialverteilung zugrunde, d.h. es wird einen Gaußfilter approximiert.
    gleich mal vorweg ich hab die Statistik VO noch nicht hinter mir (was bei deiner Antwort wahrscheinlich hilfreich wäre :P)

    heißt das jetzt ich muss, wenn ich nur Sigma kenne, den Filterkern anhand einer Binomialverteilung errechnen? Das funktioniert wie? Bzw ist das überhaupt relevant für diese LVA? Im Skript steht ja an sich nichts darüber?!
    Last edited by forumlol; 10-04-2012 at 17:49. Reason: Formatierung, Quote

  77. #72
    Baccalaureus soad's Avatar
    Join Date
    Apr 2002
    Posts
    505
    Thanks
    18
    Thanked 20 Times in 19 Posts
    Quote Originally Posted by forumlol View Post
    heißt das jetzt ich muss, wenn ich nur Sigma kenne, den Filterkern anhand einer Binomialverteilung errechnen?
    Nein. Es war eine Erklärung, warum du bei deiner Berechnung nicht auf den angegebenen Filterkern kommst, da es sich um eine Approximation handelt. Also, "binomialer" Gauß "echter" (nach formelberechneter) Gauß.
    Quote Originally Posted by forumlol View Post
    Das funktioniert wie?
    Die Binomialverteilung besitzt keinen Sigmaparameter. Die Berechnung der Filterkoeffizienten erfolgt z.B. mit Hilfe des Pascalschen Dreiecks.
    Quote Originally Posted by forumlol View Post
    Bzw ist das überhaupt relevant für diese LVA?
    Ja, da in der Übung beide Arten von Filterkernen vorkommen können.

  78. The Following User Says Thank You to soad For This Useful Post:


  79. #73
    Principal
    Join Date
    Mar 2011
    Location
    Your Basement
    Posts
    79
    Thanks
    37
    Thanked 16 Times in 13 Posts
    *pls delete*
    Last edited by *echo*; 11-04-2012 at 00:32. Reason: Denkfehler

  80. #74
    Principal
    Join Date
    Nov 2011
    Posts
    96
    Thanks
    24
    Thanked 19 Times in 6 Posts
    Quote Originally Posted by Odo View Post
    Den Kernel angeben und mit imfilter anwenden.
    Gerade den kann ich ja nirgends wo finden ..

  81. #75
    Baccalaureus
    Join Date
    Jan 2003
    Posts
    537
    Thanks
    3
    Thanked 91 Times in 59 Posts
    Quote Originally Posted by Apfelmann View Post
    Gerade den kann ich ja nirgends wo finden ..
    Ist doch nur eine Matrix. Zum Beispiel
    Code:
    kenrel = [0.1 0.1 0.1; 0.1 0.2 0.1; 0.1 0.1 0.1];
    Of course I don't see textures as images. Who would?

    Einführung in Visual Computing VU Übungsleiter 2012
    Visualisierung LU Tutor 2005-2007

  82. #76
    Master
    Join Date
    Dec 2011
    Posts
    102
    Thanks
    16
    Thanked 17 Times in 13 Posts
    Quote Originally Posted by Honk5000 View Post
    Wenn ich den Faltungskern wie in den Folien beschrieben berechne und anwende, dann würde es passen, aber ich weiß nicht, wie ich aus dem Faltungskern auf mein Sigma kommen soll.
    Quote Originally Posted by s---70 View Post
    nein, du kannst ihn genau anhand der formel berechnen, wie sie z.b. auf http://de.wikipedia.org/wiki/Gaußfilter steht.
    tut mir leid, wenn ich das nochmal aufwärme, aber es kommt bei mir einfach nicht das richtige raus...
    ich hab den richtigen faltungskern des gaußfilters (schon getestet und das ergebnis ist korrekt), aber wie komm ich von dem auf das sigma?
    habs mit der formel von wikipedia versucht
    h(x,y) = 1/(2pi*sigma^2) * e^ ...
    die umgeformt und das sigma daraus berechnet... da kommt auch was raus, das problem ist nur, wenn ich jetzt mit matlab einen gauss-filter mit fspecial mit diesem sigma erstelle, dann kommt ein falscher faltungskern raus...
    was mach ich falsch?

  83. #77
    Baccalaureus
    Join Date
    Mar 2009
    Posts
    733
    Thanks
    20
    Thanked 157 Times in 141 Posts
    Hallo,

    Damit sich die Grundhelligkeit eines Bildes nicht verändert, muss die Summe der Werte in einem Gauss-Filter (und auch in anderen Filtern) immer 1 sein. Das würde bei der Formel aus dem Skriptum auch passieren, wenn man unendlich fein integrieren würde. Da wir aber nur an diskreten Werten abtasten, wird das nicht immer der Fall sein, daher muss man den Filter nachträglich noch normalisieren. Matlab macht dies auch, daher kriegst du nicht den selben Filter raus, wenn du nicht normalisierst.
    Bernhard Steiner
    [ECG & RTR Übungsleitung]

  84. #78
    Principal
    Join Date
    Mar 2011
    Location
    Your Basement
    Posts
    79
    Thanks
    37
    Thanked 16 Times in 13 Posts
    h(0,0) ist genau der mitte,mitte Wert des Kernels.
    wenn du nun in die formel einsetzt für x=0,y=0, dann wird das e^(...) zu e^0=1 und du kannst dir bequem durch umformen das sigma herausrechnen.

    Hoffe das hilft dir, hab den Eindruck man wird hier gerne dumm sterben gelassen :P

  85. #79
    Baccalaureus
    Join Date
    Mar 2009
    Posts
    733
    Thanks
    20
    Thanked 157 Times in 141 Posts
    h(0,0) ist genau der mitte,mitte Wert des Kernels.
    wenn du nun in die formel einsetzt für x=0,y=0, dann wird das e^(...) zu e^0=1 und du kannst dir bequem durch umformen das sigma herausrechnen.
    Ich hab grad darüber beschrieben, dass seine Berechnung für Sigma vermutlich korrekt ist und erklärt, warum man mit fspecial leicht andere Filterkerne herausbekommt. Wie man Sigma berechnet war ja bereits geklärt...

    Hoffe das hilft dir, hab den Eindruck man wird hier gerne dumm sterben gelassen :P
    Tut mir leid, wenn du das so siehst. Meine Ansicht dazu ist, dass es nichts bringt, wenn wir hier einfach nur die Lösungen posten. Dann könnten wir uns die Übung ja gleich sparen. Daher erklären wir euch warum ihr andere Ergebnisse bekommt, als ihr erwartet, schreiben euch jedoch nicht gleich hin wie ihr das Beispiel lösen sollt.
    Last edited by BDL!; 11-04-2012 at 20:50.
    Bernhard Steiner
    [ECG & RTR Übungsleitung]

  86. #80
    Principal
    Join Date
    Mar 2011
    Location
    Your Basement
    Posts
    79
    Thanks
    37
    Thanked 16 Times in 13 Posts
    fspecial('gaussian',size,sigma) ist - zumindest bei mir - normiert
    >> sum(sum(fspecial('gaussian',x,y)))


    ans =


    1.0000

    War nicht direkt gegen dich gerichtet, aber manchmal fehlt einfach (spreche aus eigener Erfahrung) der Schubser wie man das jetzt konkret angeht.

Page 1 of 3 1 2 3 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •