Versuchen Sie, das DeepZoom-Dateiformat .DZI in Python zu erstellen

In Bezug auf DZI hat Microsoft es vorbereitet, anstatt es mir zu erklären. Ich denke, es ist schneller, die Seite zu sehen .

Die Idee ist, dass der Bereich, der auf einem Bildschirm angezeigt werden kann, selbst wenn das Bild 100 MB auf einem Blatt beträgt, ungefähr 1 MB beträgt. Daher ist es nur erforderlich, es in 1000 zu unterteilen und nur den Anzeigebereich zu lesen. Es ist rau.

Ist es nicht schwieriger, Programme anzuzeigen als Daten zu erstellen? Diejenigen, die </ strong> denken, haben Recht. Ich habe es in einem anderen Artikel veröffentlicht. Ich habe es mir mit ActionScript und CoffeeScript selbst gemacht, möchte es aber zu einem anderen Zeitpunkt zusammen mit dem traurigen Hintergrund vorstellen, dass ich das DZI-Format nicht kannte.

Kommen wir zurück zu DZI. Das Tool zum Erstellen von DZI-Dateien wurde bereits in Python erstellt . Laden Sie es herunter und probieren Sie es aus.

Informationen zur Installation von PIL finden Sie in der README-Datei.

Der Inhalt des Beispielprogramms ist so einfach, dass es nicht notwendig ist, es zu erklären. Schauen Sie sich examples / helloworld / helloworld.py an.

!/usr/bin/env python
 -*- coding: utf-8 -*-

import deepzoom

 Specify your source image
SOURCE = "helloworld.jpg "

 Create Deep Zoom Image creator with weird parameters
creator = deepzoom.ImageCreator(tile_size=128, tile_overlap=2, tile_format="png",
                                image_quality=0.8, resize_filter="bicubic")

 Create Deep Zoom image pyramid from source
creator.create(SOURCE, "helloworld.dzi")

Es ist fast in Ordnung, wenn Sie das Eingabebild und das Ausgabebild ändern ... Lassen Sie uns vorerst die Optionen von ImageCreater überprüfen.

Hier wird das in Quadrate unterteilte Bild gemäß der Notation von OpenZoom als "Kachel" bezeichnet.

tile_size Wie viele Pixel sollte das Bild vertikal und horizontal geteilt werden? DZI-Kacheln sind grundsätzlich quadratisch.

tile_overlap Dies ist schneller, wenn Sie das Bild betrachten.

2932771418_82ceddfa0b.jpg

Wenn Sie die Kacheln ohne Ränder teilen (wie soll ich sie nennen) und anordnen, kann es zu Flackern kommen. Um dies zu verhindern, wird die Option zum Teilen größer als tile_size als Kachelüberlappung bezeichnet.

tile_format Lesen Sie dies so wie es ist. Dieses Mal wird es als PNG ausgegeben, es kann aber auch als JPG ausgegeben werden.

image_quality Dies ist auch das gleiche. Bildqualitätsspezifikation. 1 ist die Obergrenze.

resize_filter Ich bin zu spezialisiert und ich weiß nicht alles, aber wenn Sie mehr wissen wollen, sehen Sie bitte unten. http://www.dfx.co.jp/dftalk/?p=13061

Wenn Sie nicht besonders darüber sind, können Sie Bicubic verwenden.

Es gibt andere detaillierte Vereinbarungen. Wenn Sie mehr wissen möchten, sehen Sie bitte unten. http://www.openzoom.org/

Nachdem Sie die Optionen, das Eingabebild und den Namen der Ausgabedatei angegeben haben, tippen Sie einfach auf

$ python helloworld.py

Sie sollten jetzt eine DZI-Datei und ein Verzeichnis name_images im selben Verzeichnis haben.

Der Betrachter wird unter " Versuchen Sie es mit einem hochauflösenden Open Source-Bildbetrachter wie Google Maps " erläutert.

Danke für Ihre Unterstützung.

Recommended Posts

Versuchen Sie, das DeepZoom-Dateiformat .DZI in Python zu erstellen
Versuchen Sie, eine komprimierte Datei mit Python und zlib zu erstellen
Erstellen Sie eine Binärdatei in Python
Erstellen einer einfachen Power-Datei mit Python
Versuchen Sie, ein SYN-Paket in Python zu senden
Versuchen Sie, eine einfache Animation in Python zu zeichnen
[GPS] Erstellen Sie eine kml-Datei mit Python
Probieren Sie eine funktionale Programmierpipe in Python aus
Format in Python
Erstellen Sie eine GIF-Datei mit Pillow in Python
Berechnen wir das statistische Problem mit Python
Lesen Sie eine Datei mit verstümmelten Linien in Python
So erstellen Sie eine JSON-Datei in Python
Erstellen Sie mit Python eine Datei im Photoshop-Format (.psd)
Erstellen Sie eine MIDI-Datei in Python mit pretty_midi
Dateiverarbeitung in Python
Bildformat in Python
Dateimanipulation mit Python
Versuchen Sie gRPC in Python
Probieren Sie 9 Slices in Python aus
Analysieren Sie eine JSON-Zeichenfolge, die in eine Datei in Python geschrieben wurde
Versuchen Sie, ein Python-Modul in C-Sprache zu erstellen
Versuchen Sie, in Python nach einem Profil mit einer Million Zeichen zu suchen
Versuchen Sie, Python mit pybind11 in ein C ++ - Programm einzubetten
Ein Memorandum zum Ausführen eines Python-Skripts in einer Bat-Datei
Ich möchte eine Datei mit Python zufällig testen
Führen Sie eine Python-Datei mit relativem Import in PyCharm aus
Machen Sie einen Screenshot in Python
Versuchen Sie, Python in der mit pipenv erstellten Django-Umgebung auszuführen
Einfaches Formatieren von JSON mit Python
Erstellen Sie eine Funktion in Python
Erstellen Sie ein Wörterbuch in Python
Ändern Sie das Standardausgabeziel in eine Datei in Python
Holen Sie sich den MIME-Typ in Python und bestimmen Sie das Dateiformat
So importieren Sie Dateien in Python an eine beliebige Stelle
Ein Hinweis beim Erstellen eines gerichteten Diagramms mit Graphviz in Python
Versuchen Sie LINE Notify mit Python
[Hinweis] Import von Dateien in das übergeordnete Verzeichnis in Python
Erstellen Sie ein Lesezeichen in Python
Versuchen Sie, ein neuronales Netzwerk in Python aufzubauen, ohne eine Bibliothek zu verwenden
Lassen Sie uns Yuma in Python 3 implementieren
Zeichne ein Herz in Python
Versuchen Sie, eine in Python geschriebene Funktion mit Fn Project auszuführen
Versuchen Sie einfach, einen Webhook mit ngrok und Python zu erhalten
Versuchen Sie, die Thread-Liste der Nachrichten (Abneigung) mit Python zu erhalten.
[Python / Django] Erstellen Sie eine Web-API, die im JSON-Format antwortet
Lesen Sie die Datei in Python mit einem relativen Pfad aus dem Programm
Python vba zum Erstellen einer Datumszeichenfolge zum Erstellen eines Dateinamens
Rufen Sie die Formel in der Excel-Datei als Zeichenfolge in Python ab
[ROS2] So spielen Sie eine Bag-Datei mit Start im Python-Format ab
Versuchen Sie, Ihrer IFC-Datei mit IfcOpenShell Python eine Wand hinzuzufügen
Wahrscheinlich in einer Nishiki-Schlange (Originaltitel: Vielleicht in Python)
Zählen Sie bestimmte Zeichenfolgen in einer Datei
Schreiben Sie eine Dichotomie in Python
Manipulation des Datei- / Ordnerpfads in Python
[Python] Verwalten Sie Funktionen in einer Liste
Drücken Sie einen Befehl in Python (Windows)