Bild verkleinern, Grafik Filter - verwischen



  • bei einer einzelnen Linie könnte ich diese schon breiter machen. Wenn es nun
    aber mehrere sind und dann noch ein Gitternetz hinzukommt (Schaubild) wird die
    Sache super kompliziert und das verkleinerte Bild würde wohl sehr "pixelig"
    werden.

    Es geht mir im Grunde nur darum eine Vorschau zu erstellen.
    Ich muss ein paar Diagramme drucken. Wenn ich diese nun in einer
    Auflösung von 75 DPI anzeige, sind sie am Monitor gut zu sehen,
    auf dem Drucker kommen sie aber mega schlecht raus. Wenn ich die Bilder
    stauche, kann man am Monitor nichts mehr sehen und am Drucker sieht es gut aus.

    Nun will ich eine eigene Routine schreiben, die die Bilder stuacht und eine
    extra Vorschau für den Monior erstellt.


  • Mod

    Ahvolon[F-Bytes] schrieb:

    @rapso: Der Source ist absoluter Quatsch. Das ist nicht mehr als ne primitive Blur-Form. Und der Kontrast wird dadurch ganz sicher nicht besser sondern lediglich schlechter.

    danke gfx-guru
    tja, schade, dass das was photoshop und die meißten anderen programme beim verkleinern von bildern machen quatsch ist, leider macht photoshop das so, wenn du bilder 'bilinear' verkleinerst.
    und der filter dahinter macht jede farbe bis auf weiß (1.f,1.f,1.f) dunkler, was dafür sorgen würde dass irgendwelche mittelwerte zwsichen 1.f und 0.f schwärzer werden würden und er somit seine linie besser sehen könnte.

    rapso->greets();


  • Mod

    Acidmrp schrieb:

    bei einer einzelnen Linie könnte ich diese schon breiter machen. Wenn es nun
    aber mehrere sind und dann noch ein Gitternetz hinzukommt (Schaubild) wird die
    Sache super kompliziert und das verkleinerte Bild würde wohl sehr "pixelig"
    werden.

    Es geht mir im Grunde nur darum eine Vorschau zu erstellen.
    Ich muss ein paar Diagramme drucken. Wenn ich diese nun in einer
    Auflösung von 75 DPI anzeige, sind sie am Monitor gut zu sehen,
    auf dem Drucker kommen sie aber mega schlecht raus. Wenn ich die Bilder
    stauche, kann man am Monitor nichts mehr sehen und am Drucker sieht es gut aus.

    Nun will ich eine eigene Routine schreiben, die die Bilder stuacht und eine
    extra Vorschau für den Monior erstellt.

    wäre sowas ok?

    das entsteht wenn du es so machst wie in meinem pseudocode beschrieben 🙂

    rapso->greets();



  • du solltest mal bei google unter sampling bzw. sub-sampling (verkleinern von bildern mit filtern) schauen. beim resizen werden ja einfach brutal pixel gekillt.

    ImageMagick bietet sowas zum beispiel an (sourceforge).

    ein linie in nem bild zu verbreitern und sie anschliessend zu verkleinern ist viel zu aufwendig. auch eine kontur-extraktion kommt nicht in frage. da müssten viel zu viele kleinigkeiten berücksichtigt werden.

    @rapso

    ich würde beim filtern eher noch die 8er-nachbarschaft betrachten und nicht nur die 4er.


  • Mod

    Sunday schrieb:

    @rapso
    ich würde beim filtern eher noch die 8er-nachbarschaft betrachten und nicht nur die 4er.

    war ja auch nur ein pseudocode
    ich würde es auch mit verschiedenen patterngrößern und gewichtungen versuchen.

    rapso->greets();



  • Das war weder Achter- noch Vierernachbarschaft. Und das man die bekannten Verkleinerungsalgorithmen bei Google raussuchen kann, ist auch klar. Also sollte man das einfach tun, wenn die Vorschläge hier "Mist" sind.

    Bye, TGGC (Dem beste BdT)



  • @rapso: Das ganze wird bei einer Linie von 1 Pixel nicht helfen. Nehmen wir an du hast in der Maske 4 Pixel. Davon 3 weiße und einen schwarzen.

    Dem entsprechend kommst du auf: ( 0+1+1+1 ) * 0.25 = 0.75
    Im entstehenden Bild also dann 0.75^3 = 0.42... .

    Schon ein tolles Resultat 🙄
    Je größe du die Maske wählst, desto schlechter wird das Resultat. Auch klar, denn bei einer Linie von 1 Pixel Breite überwiegt der Hintergrund.


  • Mod

    Ahvolon[F-Bytes] schrieb:

    @rapso: Das ganze wird bei einer Linie von 1 Pixel nicht helfen. Nehmen wir an du hast in der Maske 4 Pixel. Davon 3 weiße und einen schwarzen.

    Dem entsprechend kommst du auf: ( 0+1+1+1 ) * 0.25 = 0.75
    Im entstehenden Bild also dann 0.75^3 = 0.42... .

    Schon ein tolles Resultat 🙄
    Je größe du die Maske wählst, desto schlechter wird das Resultat. Auch klar, denn bei einer Linie von 1 Pixel Breite überwiegt der Hintergrund.

    dieser worstcase tritt kaum auf, da die linie nebeneinander liegende pixel hat, meißtens also 0.5 als resultat und nach dem filter wäre 0.125, das resultat ist dann so und als verkleinerung vom orginal recht ok.

    ich hab von dir noch keinen 10-zeiler gesehen mit besseren resultaten 🙄

    rapso->greets();



  • rapso schrieb:

    dieser worstcase tritt kaum auf

    Dieser Fall tritt bei Linien mit Kurven recht häufig auf, was mehr als deutlich an deinem Resultat zu sehen ist.

    rapso schrieb:

    recht ok.

    Dann solltest du dir das ganze vielleicht nochmal genauer ansehen.

    rapso schrieb:

    ich hab von dir noch keinen 10-zeiler gesehen mit besseren resultaten 🙄

    Sorry, dass ich keinen Source poste bei dem die Resultate so schlecht sind wie bei deinem. Da könnte er letztendlich auch seine Methode nehmen und am Ende nen Blur Filter drüber laufen lassen. Die Qualität wäre dann genauso schlecht.



  • Genuch Geflame ihr zwei!! 👎 😡

    Sonst kommt der böse rapso, und schließt den Laden hier!! 😉 🤡


  • Mod

    Ahvolon[F-Bytes] schrieb:

    rapso schrieb:

    dieser worstcase tritt kaum auf

    Dieser Fall tritt bei Linien mit Kurven recht häufig auf, was mehr als deutlich an deinem Resultat zu sehen ist.

    kurven=selten=kaum vorhanden.

    Ahvolon[F-Bytes] schrieb:

    rapso schrieb:

    recht ok.

    Dann solltest du dir das ganze vielleicht nochmal genauer ansehen.

    deaktivier dein "reality distortion field".

    Ahvolon[F-Bytes] schrieb:

    rapso schrieb:

    ich hab von dir noch keinen 10-zeiler gesehen mit besseren resultaten 🙄

    Sorry, dass ich keinen Source poste ...

    du brauchst dich nicht dafür entschuldigen, dafür hast du hier viele beiträge gebracht ohne weiter zu helfen.

    rapso->greets();



  • rapso schrieb:

    kurven=selten=kaum vorhanden.

    Sieh dir dein Resultat mal genau an. So blind wie du kann man doch echt nicht sein. Solltest vielleicht mal einsehen, dass weder du noch dein Resultat hier auch nur annähernd perfekt ist.


  • Mod

    Ahvolon[F-Bytes] schrieb:

    rapso schrieb:

    kurven=selten=kaum vorhanden.

    Sieh dir dein Resultat mal genau an. So blind wie du kann man doch echt nicht sein. Solltest vielleicht mal einsehen, dass weder du noch dein Resultat hier auch nur annähernd perfekt ist.

    jaja sprücheklopfer, nun ist gut

    rapso->greets();



  • um rapso zu unterstützen, ich versteh ehrlich gesagt auch nicht, was dieser Ahvolon immer meint besser zu wissen / zu sein. Immer nur Kritik üben aber keine besseren Vorschläge machen, und das in einem Ton, der durchaus wütend machen kann.



  • rapso schrieb:

    jaja sprücheklopfer, nun ist gut

    Man sollte meine, dass ein kurzes Blick auf das Bild meine Aussagen mehr als verdeutlicht. Aber erzähl nur ruhig immer das Gegenteil von dem was auf deinem Bild zu sehen ist. Naja, manche Menschen sind ja so derart selbstverliebt...


  • Mod

    Ahvolon[F-Bytes] schrieb:

    rapso schrieb:

    jaja sprücheklopfer, nun ist gut

    Man sollte meine, dass ein kurzes Blick auf das Bild meine Aussagen mehr als verdeutlicht. Aber erzähl nur ruhig immer das Gegenteil von dem was auf deinem Bild zu sehen ist. Naja, manche Menschen sind ja so derart selbstverliebt...

    ...und manchmal labern leute sehr viel ohne auch nur einmal zu helfen.

    rapso->greets();



  • Es ist schon ne tolle Hilfe wenn man das Ausgangsbild vollkommen kaputt macht und dann so tut als ob es nichts anderes gäbe als den eigenen Algo.


  • Mod

    Ahvolon[F-Bytes] schrieb:

    Es ist schon ne tolle Hilfe wenn man das Ausgangsbild vollkommen kaputt macht und dann so tut als ob es nichts anderes gäbe als den eigenen Algo.

    solange du es nicht geschaft hast überhaupt einen anderen zu machen als "linien breiter machen" bin ich zufrieden mit meinem.

    rapso->greets();



  • Ich habe ihm gesagt wies geht. Wenn er es nicht umsetzt ist das nicht mein Problem. Es ist aber mehr als fehl am Platz hier einen mehr als minderwertigen Source zu posten und sich dann als großen Wohltäter hinzustellen. kritik solltest du schon mal annehmen, vorallem bei solchen Resultaten.


  • Mod

    Ahvolon[F-Bytes] schrieb:

    Ich habe ihm gesagt wies geht. Wenn er es nicht umsetzt ist das nicht mein Problem.

    du meinst also:

    Ahvolon[F-Bytes] schrieb:

    Wieso lässte die Linie nicht vorhher um nen bestimmten Betrag dicker zeichnen ?

    auf die er wohl antwortete.

    Acidmrp schrieb:

    bei einer einzelnen Linie könnte ich diese schon breiter machen. Wenn es nun
    aber mehrere sind und dann noch ein Gitternetz hinzukommt (Schaubild) wird die
    Sache super kompliziert und das verkleinerte Bild würde wohl sehr "pixelig"
    werden.

    deswegen quengelst du rum, weil er deine methode gleich verworfen hat... na gut, dann hast du natürlich recht, deine idee "lienien breiter machen" ist viel besser als auf seine frage zu antworten

    acidmrp schrieb:

    Weiß jemand wie das Grafikprogramme wie ACDSee & Co machen? Kennt jemand einen Algorithmus um ein Bild zu verwischen bzw. weich zu zeichnen?

    so wie ich das gemacht habe... mag sein dass der algorithmus scheisse ist, aber so macht das photoshop nunmal wenn man bilinear ein bild verkleinert und damit hab ich nur seine frage beantwortet... mehr nicht.

    rapso->greets();


Anmelden zum Antworten