Bild verkleinern, Grafik Filter - verwischen


  • 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