Frage zur Bildschärfe

  • Hallo Klaus, ich habe mal zwei Fragen an den Entwickler zum Thema größengerechte Bildschärfung.

    Bisher war ich gewohnt, nachdem ich ein Bild für das Web verkleinert hatte, es auch gleich adäquat zu schärfen. Nun erstelle ich mit "kmakemultires" ja nicht nur Tiles sondern gleichzeitig (bzw. zuvor) verschiedene Verkleinerungen des Ausgangspanos. Und nun sehe ich in der "Multires-Technik" nicht nur den Vorteil, dass der Browser die jeweils benötigte Auflösung schneller laden kann und auch weniger selbst skalieren muss, sondern auch die Möglichkeit, diese verschiedenen Auflösungen jeweils vorher schon adäquat zu schärfen. Immerhin wäre es möglich statt "kmakemultires" zu verwenden zuerst mit "ktransform" zu verkleinern, dann individuell zu schärfen und dann die Tiles mit "kmaketiles" zu erstellen.

    Ist das notwendig oder überhaupt sinnvoll ? Oder nimmt vielleicht "ktransform" bzw. "kmakemultires" schon selbst der jeweiligen Bildgröße entsprechende Schärfungen vor ?

    Auf der anderen Seite frage ich mich, was der Player bei der Wiedergabe im Bezug auf die Schärfe vornimmt. So habe ich z.B. beobachtet, dass mir ein vom Player auf Weitwinkelansicht herunterskaliertes Pano (z.B. 12000 x 6000) "überschärft" vorkommt, während das gleiche Pano nicht nur schneller geladen wird sondern vor allem auch besser aussieht, wenn ich für die Weitwinkelansicht kleinere Auflösungen (6000 x 3000 bzw. 3000 x 1500) bereitstelle, die ich mit "ktransform" erstellt habe - und zwar OHNE selbst dabei irgendwelche Schärfungen vorzunehmen.

    Die Frage wäre also (und ich hoffe, dass die Antwort nicht schon irgendwo steht und ich sie nur übersehen habe): Werden einerseits bei den Tools und andererseits beim Skalieren im Player irgendwelche automatische, der jeweiligen Bildgröße entsprechenden Schärfungen vorgenommen ?

    Besten Dank und viele Grüße

    Dieter

  • Hi,

    "ktransform" zum verkleinern? verwechselt du hier etwas oder wie meinst du das?

    Erstmal eine Erklärung wie das "kmakemultires" Tool funktioniert:

    Die einzelnen Auflösungen werden immer vom Originalbild mit dem in der "kmakemultires.config"
    (z.B. filter=LANCZOS) eingestellten Filter erstellt, mit den Standardeinstellungen (levelstep=2)
    wird dann dabei die Auflösung solange halbiert bis eine bestimmte Minimalgröße erreicht wird,
    nachgeschärft wird dabei nicht.

    Allerdings wirkt, dass durch den LANCZOS Filter verkleinerte Bild, normalerweise schon recht
    scharf. Dieser Filter behält die meisten Informationen (Details/Schärfe) des Originalbildes bei,
    ohne dabei Aliasing zu verursachen. Wenn dann sollte hier eigentlich nur mehr minimal nachgeschärft werden!

    Es sollte also eigentlich reichen wenn nur das Originalbild in der Originalgröße geschärft wird.
    Zu hohe Schärfe (Pixelkontraste) sind nämlich auch nicht gut, speziall bei Flash9 und LOW Quality
    entstehen dadurch starke Aliasing Effekte (Flimmern).

    Daneben gibt es noch etwas zu beachten - einerseits ob das ein Nachschärfen im Viewer verwendet
    wird (HIGHSHARP Quality) - und - ob Flash9 oder Flash10 verwendet wird:

    Bei Flash9 wird intern, automatisch für verkleinerte Darstellungen eine vorher heruntergerechnete
    Version der Originalgrafik verwendet. (Flash Mip-Mapping - http://www.kaourantin.net/2007/06/mip-map-what.html)
    Mit dem Flash10 Renderer ist das nicht der Fall, d.h. Flash10 kann schärfer wirken als Flash9, aber dafür
    auch Aliasing Effekte aufweise wo Flash9 keine hat.

    Zitat

    Auf der anderen Seite frage ich mich, was der Player bei der Wiedergabe im Bezug auf die Schärfe vornimmt. So habe ich z.B. beobachtet, dass mir ein vom Player auf Weitwinkelansicht herunterskaliertes Pano (z.B. 12000 x 6000) "überschärft" vorkommt, während das gleiche Pano nicht nur schneller geladen wird sondern vor allem auch besser aussieht, wenn ich für die Weitwinkelansicht kleinere Auflösungen (6000 x 3000 bzw. 3000 x 1500) bereitstelle, die ich mit "ktransform" erstellt habe - und zwar OHNE selbst dabei irgendwelche Schärfungen vorzunehmen.


    Welche krpano Version (1.0.7/1.0.8 beta ?)und welchen Flashplayer (9/10?) hast du dabei verwendet?
    Hast du dazu auch eventuell Bilder? dann könnte ich versuchen anhand der Bilder zu beschreiben/zu erklären *wink*


    Zitat

    Und nun sehe ich in der "Multires-Technik" nicht nur den Vorteil, dass der Browser die jeweils benötigte Auflösung schneller laden kann und auch weniger selbst skalieren muss, sondern auch die Möglichkeit, diese verschiedenen Auflösungen jeweils vorher schon adäquat zu schärfen. Immerhin wäre es möglich statt "kmakemultires" zu verwenden zuerst mit "ktransform" zu verkleinern, dann individuell zu schärfen und dann die Tiles mit "kmaketiles" zu erstellen.


    Wenn du selber die einzelen Auflösungen nachschärfen möchtest, würde ich folgende Vorgangsweise empfehlen:
    zuerst mit dem kmaketiles aus der Originalgrafik die einzelnen Auflösungen erstellen:
    z.B:

    Code
    kmaketiles original.tif level1.tif 0 -resize=10000x5000 -hwrap
    kmaketiles original.tif level2.tif 0 -resize=5000x2500 -hwrap
    kmaketiles original.tif level3.tif 0 -resize=2500x1250 -hwrap

    dann die einzelnen Bilder Nachbearbeiten, und dann die Tiles daraus erstellen:

    Code
    kmaketiles level1.tif level1_%0v_%0u.tif 500
    kmaketiles level2.tif level2_%0v_%0u.tif 500
    kmaketiles level3.tif level3_%0v_%0u.tif 500

    die Größe der einzelnen Auflösungen kann dabei beliebig gewählt werden,
    für Würfelpanoramen funktioniert das genauso,

    so ... das ist jetzt doch ziemlich viel Text geworden ... ich hoffe das war irgendwie verständlich

    Schöne Grüße,
    Klaus

  • Hallo Klaus,

    erstmal besten Dank für die ausführlichen und kurzfristigen Erläuterungen.

    Natürlich habe ich "ktransform" geschrieben, wo eigentlich "kmaketiles" stehen müsste. Ich meinte es genau so, wie Du es am Ende beschrieben hast: Mit der "-resize"-Funktion von "kmaketiles" (nicht mit ktransform *cry* ) die verschiedenen Auflösungen erstellen, dann gegebenenfalls manuell nachschärfen und dann mit "kmaketiles" die Tiles erstellen.

    Wobei sich da schon - aufgrund Deiner Erläuterungen - die nächste Frage anschließt: Verwendet eigentlich dieses "-resize" bei "kmaketiles" auch den LANZOS-Filter (eine config-Datei wie bei "kmakemultires" gibt es da ja wohl nicht) ?

    Zitat

    Wenn dann sollte hier eigentlich nur mehr minimal nachgeschärft werden!

    ... und genau das war der Grund meiner Fragen und der Auslöser meines Posting: dass ich nämlich - überraschenderweise und ganz im Gegensatz zu Bildverkleinerungen, die ich sonst im Photoshop mache - hier das Gefühl hatte, überhaupt nicht nachschärfen zu müssen.

    Was mein Eindruck von "Überschärfung" bei der Wiedergabe betrifft, wenn der Player herunterskaliert - im Gegensatz dazu wenn man ihm eine vorher verkleinerte Auflösung gibt - vermute ich aufgrund Deiner Erklärungen, dass das an der Verwendung von Flash 10 liegt (krpano 1.0.8 beta 6, Flash 10). Ein passendes Beispiel habe ich jetzt zwar gerade nicht zur Hand, aber das Thema wird mich ohnehin in der nächsten Zeit sicher noch beschäftigen, da ich nach und nach jetzt auch früher erstellte Panos umsetzen will. Auf jeden Fall habe ich nun mit Deinen Erläuterungen ein besseres Verständnis dafür. Gegebenenfalls werde ich mich dann zu dem Thema nochmal melden.


    Gruß Dieter

  • Wobei sich da schon - aufgrund Deiner Erläuterungen - die nächste Frage anschließt: Verwendet eigentlich dieses "-resize" bei "kmaketiles" auch den LANZOS-Filter (eine config-Datei wie bei "kmakemultires" gibt es da ja wohl nicht) ?

    LANCZOS wird als Default verwendet, andere Filter lassen sich mit -filter=... einstellen,

    wenn das "kmaketiles" Tool ohne Parameter gestartet wir,d werden die möglichen Parameter aufgelistet

    hier ist auch eine Übersicht:
    https://krpano.com/tools/kmaketiles/


    ein paar Tipps noch:

    mit -resize=1000x* oder -resize=*x1000 lassen sich Grafiken auch jeweils propertional skalieren,
    und unter Windows lassen mit dem for Befehl gleich mehrere Bilder auf einmal verarbeiten, z.B:

    Code
    for %d in (*.tif) do kmaketiles %d %~nd_resized.tif 0 -resize=1000x*

    Schöne Grüße,
    Klaus

  • Zitat

    die Größe der einzelnen Auflösungen kann dabei beliebig gewählt werden,
    für Würfelpanoramen funktioniert das genauso,

    Hallo Klaus,

    und nun sehe ich mich vor die Frage gestellt, was im Falle von Cube-Multires-Panos eigentlich der optimale Workflow ist. Und zwar im Bezug auf die erzielbare Qualität, nicht hinsichtlich des zeitlichen Aufwandes *wink* , falls es überhaupt einen Unterschied geben sollte:

    1. Zuerst transformieren und dann resizen:


    • ktransform SPHERE to CUBE in der Originalauflösung
    • kmakemultires (resize) für jede CUBE-Seite und jede gewünschte Auflösung
    • kmaketiles

    2. Zuerst resizen und dann transformieren:


    • kmakemultires (resize) SPHERE für jede gewünschte Auflösung
    • ktransform SPHERE to CUBE in jeder Auflösung
    • kmaketiles

    Natürlich gibt es noch den einfachsten Fall:


    • ktransform SPHERE to CUBE in der Originalauflösung
    • kmakemultires

    aber da stellt sich ja die Frage dann gar nicht.

    Besten Dank für einen kurzen Tipp.

    Dieter

    PS. Sorry wg. der vielen Leerzeilen um die Aufzählungen, habe die einfach nicht wegbekommen ohne dass sich alles wieder verschoben hätte *cry*

  • Zitat
    • ktransform SPHERE to CUBE in der Originalauflösung
    • kmakemultires

    Ich würde den einfachsten Fall empfehlen

    wobei das ktransform Tool allerdings nicht die bestmögliche Qualität liefert,
    momentan wird dort nur ein Linearer Filter verwendet, was nicht optimal ist,
    ein besseres Tool ist aber bereits geplant,

    Schöne Grüße,
    Klaus

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!