Bild verkleinern, Grafik Filter - verwischen



  • spl@t schrieb:

    Don´t feed the trolls.

    Dann sollte man deine Nap Fragen ja nichtmal mehr lesen. Ausserdem ist das oben ein doch recht deutliches "Friedensangebot". Also misch dich nicht in Sachen ein die dich nix angehen.


  • Mod

    spl@t schrieb:

    Don´t feed the trolls.

    hast recht, ich hab auch besseres zu tun.

    rapso->greets();



  • warum ist 0.125 ein wünschenswertes ergebnis und 0.42 nicht? oO



  • Wenn du davon ausgehst, dass der Ausgangswert 0.0f war, hast du eben ne Abweichung von 0.125f. 0.4f wäre dann natürlich noch krasser.

    Aber naja, wenn sich zwei Farben einander angleichen wird ja bekanntlich der Kontrast besser *ironie*



  • Ich bin gespannt auf Ahvolons Implementation.

    Achso, gibt's nicht? Na gut, dann geh ich wieder...
    🤡



  • randa schrieb:

    Ich bin gespannt auf Ahvolons Implementation.

    siehe unten



  • Ahvolon[F-Bytes] schrieb:

    Wenn du davon ausgehst, dass der Ausgangswert 0.0f war, hast du eben ne Abweichung von 0.125f. 0.4f wäre dann natürlich noch krasser.

    oh.. irgendwie hatte ich im kopf, dass die linie weiß ist >_<.

    Aber warum dann nicht einfach:

    //beispiel 
    for(unsigned int y=0;y<SMALLSIZEY;y++) 
    for(unsigned int x=0;x<SMALLSIZEX;x++) 
    {
       if(pImage[x*2+y*2*SIZEY] < 0.2f || pImage[x*2+1+y*2*SIZEY] < 0.2f || pImage[x*2+(y*2+1)*SIZEY] < 0.2f || pImage[x*2+1+(y*2+1)*SIZEY] < 0.2f)
         pNewImage[x+y*SMALLSIZEX] = 0;
       else
         pNewImage[x+y*SMALLSIZEX] = 1;
    }
    




  • Ahvolon[F-Bytes] schrieb:

    siehe unten

    Implementation. Bild danach 🙂



  • randa schrieb:

    Implementation.

    Selber denken macht schlank. Und nach dem Trauerspiel was die anderen hier abgeliefert haben kannst du doch nicht wirklich erwarten, dass ich denen noch erkläre wies funktioniert oda ?! Das wäre doch recht naiv.

    Aber es ist mehr als beeindruckend, dass manche immer erst einen Beweis für ihre Fehler brauchen, damit sie diese erkennen.


  • Mod

    Aber warum dann nicht einfach:

    //beispiel 
    for(unsigned int y=0;y<SMALLSIZEY;y++) 
    for(unsigned int x=0;x<SMALLSIZEX;x++) 
    {
       if(pImage[x*2+y*2*SIZEY] < 0.2f || pImage[x*2+1+y*2*SIZEY] < 0.2f || pImage[x*2+(y*2+1)*SIZEY] < 0.2f || pImage[x*2+1+(y*2+1)*SIZEY] < 0.2f)
         pNewImage[x+y*SMALLSIZEX] = 0;
       else
         pNewImage[x+y*SMALLSIZEX] = 1;
    }
    

    nichts anderes macht ein filter nach dem runtersamplen.
    statt wie im beispielfilter

    pow(pNewImage[x+y*SMALLSIZEX],3);
    

    kannst du natürlich

    pow(pNewImage[x+y*SMALLSIZEX],10);
    

    machen, dann hast du das selbe durchgeführt wie du das mittesl zig abfragen machst. deswegen war es ja auch nur ein beispiel ;), aber manche verstehen sowas nicht.

    den vorteil den du jedoch durch einen nicht-treshold filiter hast, ist dass du die stärke der filterung einstellen kannst, so bekommst du manchmal, bei nah einander liegenden linien, bessere resultate.

    rapso->greets();



  • Ich wollte nur eben mal anmerken, das meine Idee viel besser _ist_.

    Bye, TGGC Deine Unterstützung wird gebraucht!



  • rapso schrieb:

    Aber warum dann nicht einfach:
    nichts anderes macht ein filter nach dem runtersamplen.
    statt wie im beispielfilter

    pow(pNewImage[x+y*SMALLSIZEX],3);
    

    kannst du natürlich

    pow(pNewImage[x+y*SMALLSIZEX],10);
    

    machen, dann hast du das selbe durchgeführt wie du das mittesl zig abfragen machst. deswegen war es ja auch nur ein beispiel ;), aber manche verstehen sowas nicht.

    den vorteil den du jedoch durch einen nicht-treshold filiter hast, ist dass du die stärke der filterung einstellen kannst, so bekommst du manchmal, bei nah einander liegenden linien, bessere resultate.

    rapso->greets();

    eigentlich müssteste pow(bla,infinity) machen, damit du das gleiche resultat bekommst. Ich möchte behauptet, dass da meine "zig" ifs schneller sind ;).



  • Der BTB wird sich freuen und die FPU langweilen.

    Bye, TGGC Deine Unterstützung wird gebraucht!


  • Mod

    life schrieb:

    eigentlich müssteste pow(bla,infinity) machen, damit du das gleiche resultat bekommst. Ich möchte behauptet, dass da meine "zig" ifs schneller sind ;).

    nein, müßte nur bei pow(bla,x)<1/256; sein, dann würdest du bei der ausgabe keinen unterschied haben, und bei ca <1/64 erkennt dein auge für einen pixel auch keinen unterschied mehr.

    und wenn es um performance ginge, würde man das nicht mit floats machen 😉

    rapso->greets();



  • rapso schrieb:

    aber manche verstehen sowas nicht.

    Und machne setzen ihr Beispiele um und bekommen trotzdem noch extrem schlechte Resultate.



  • Manche Leute sollten auch endlich mal was produktives Posten, damit sie sich nicht langsam lächerlich machen (naja, jetzt isses wohl sowieso zu spät)...


Anmelden zum Antworten