Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zu imageconvolution (Gaußscher Weichzeichner)

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Lollix
    hat ein Thema erstellt Frage zu imageconvolution (Gaußscher Weichzeichner).

    Frage zu imageconvolution (Gaußscher Weichzeichner)

    Hello World,
    hab mal wieder ein Problem bei den image-Funktionen, und zwar beim Gaußschen Weichzeichner, also in der Funktion imageconvolution. Ich würde nun gerne ein Bild sehr stark verschwommen ausgeben, habe aber nirgends etwas gefunden, dass den 2. Parameter, also die 3 mal 3 - Matrix erklährt. Könnte mir da vielleicht jemand helfen?


    Danke im Vorraus,


    lg
    Lollix

  • nikosch
    antwortet
    Galileo Design :: Adobe Photoshop CS2 professionell – 9.6 Do it yourself: Eigene Filter bauen

    Einen Kommentar schreiben:


  • Flor1an
    antwortet
    In Photoshop kannst du beim Gaussian Blur Filter den Radius in Pixeln angeben. Das wird wohl damit irgendwie was zutun haben.

    Einen Kommentar schreiben:


  • Manko10
    antwortet
    Hmm. Wenn ich mir das so ansehe, würde eine größere Matrix wirklich sinnvoll sein. Ich vermute, dass der Weichzeichner der Bildbearbeitungsprogramme pro eingestelltem Level auch die Matrix vergrößern. Das müsstest du dann aber selbst implementieren, wie Flo schon sagte.

    Einen Kommentar schreiben:


  • Lollix
    antwortet
    So, ich hab jetzt nochmal mit der Matrix ein bisschen "rumexperimentiert", aber ich sehe nurn darin keinen Sinn mehr für meinen "Anwendungszweck" bei einem starken Weichzeichner

    Einen Kommentar schreiben:


  • Flor1an
    antwortet
    Schau dir doch mal die Kommentare im PHP Manual an. Dort wurde die Funktion auch "per Hand" implementiert. Diese könntest du für dich ja entsprechend auf eine 5x5 Matrix oder ähnliches erweitern. Das macht auf jeden Fall Sinn.

    Einen Kommentar schreiben:


  • Lollix
    antwortet
    Vielleicht gibts ja andere Alternativen oder welche, die sich damit mehr auseinander gesetzt haben, weil wenn nicht müsste ich diese Funktion wirklich selber schreiben, weil bei mir funktioniert wirklich kaum was, denn entweder ist es noch weniger verschwommen oder die Qualität lässt immer mehr nach...

    Einen Kommentar schreiben:


  • Manko10
    antwortet
    Keine Ahnung, jedenfalls ein Abkömmling der C-Familie, wahrscheinlich C++, aber wohl nicht C#. So genau habe ich mir das jetzt aber nicht angeguckt. Das ist aber auch relativ egal, weil du die Implementierung in PHP ja schon mit imageconvolution() hast, das musst du ja nicht nachprogrammieren. Es geht nur um die Theorie der Matrix in diesem Falle.

    Vielleich hat ja noch jemand eine andere Idee oder noch jemand Tipps für mich...
    Welche Tipps willst du denn noch haben?
    An sich müsste eine 3x3-Matrix reichen. Wenn du das mittlere Pixel auf 0 setzt und die äußeren auf höhere Werte, sollte man mit ein wenig Spielen sogar eine recht einheitliche Farbfläche bekommen. Das sollte eigentlich genügen. Du kannst ja nicht nur Werte zwischen -1 und 1 setzten, sondern beliebig hohe Werte.
    Für Kantenerkennung etc. sind höhere Matrizen sinnvoll, aber für einen einfachen Weichzeichner sollte eine 3x3-Matrix genügen.

    Einen Kommentar schreiben:


  • Lollix
    antwortet
    ja, deswegen ja, aber leider funktionierts ja nicht

    Nach ein paar Tests hab ich auch nichts mit dem Verändern der Werte in den verschiedenen Matrizen gefunden

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Naja, doch, das kann schon Sinn machen. Mit einer größeren Matrix kannst Du einen anderen Effekt erzielen, als mit 3x3.

    Einen Kommentar schreiben:


  • Lollix
    antwortet
    HI Leute,
    ja, 5*5 Matrix macht schon ein bisschen Sinn finde ich, nur dann sinds ja keine Nachbarpixel sondern einfach die übernächsten Pixel, aber das geht ja leider nicht, also naja

    Das mit den Werten muss ich nochmal testen, aber ich habe schon einiges ausprobiert und nichts herausgefunden, mal schauen...

    @Manko10: Deinen ersten Beitrag fande ich interessant, allerdings wüsste ich gerne, welche Programmiersprache es ist (PHP auf jeden Fall nicht, vlt c#?)

    Vielleich hat ja noch jemand eine andere Idee oder noch jemand Tipps für mich...

    lg
    Lollix

    Einen Kommentar schreiben:


  • Manko10
    antwortet
    Nö, was willst du mit einer 7x7-Matrix? Ein Pixel hat nur 8 Nachbarpixel. Du musst einfach die Modifikationswerte ändern, also z.B. die Farbwirkung des mittleren Pixels herunterschrauben und die der umliegenden rauf.
    Außerdem lassen sich Filter im Notfall auch immer noch addieren.

    Einen Kommentar schreiben:


  • Flor1an
    antwortet
    Ich kenn mich jetzt damit nicht so genau aus. Ich hör grad erst ne Vorlesung zur Numerik Aber spiel doch mal ein bisschen mit den Parametern herum, vlt. lässt sich daraus was machen.

    Einen Kommentar schreiben:


  • Lollix
    antwortet
    HI,
    danke erstmal für deine Antwort, bei der Wikipedia-Seite hatte ich auch bereits geschaut. Wenn ich jetzt das Bild stärker verschwommen machen würde, müsste man dann doch dann theoretisch eine 5*5 oder 7*7 Matrix machen, oder? PHP lässt aber nur eine 3*3 Matrix zu. Wie könnte man sonst das Bild stärker verschwommen darstellen?

    lg
    Lollix

    Einen Kommentar schreiben:


  • Manko10
    antwortet
    Ansonsten sollte dir das weiterhelfen (2 Minuten Google): GameDev.net -- An Introduction To Digital Image Processing

    Einen Kommentar schreiben:

Lädt...
X