Essayez de créer le format de fichier DeepZoom .DZI en Python

Concernant DZI, Microsoft l'a préparé plutôt que de me l'expliquer. Je pense que c'est plus rapide de voir la page .

L'idée est que la zone qui peut être affichée sur un écran même si l'image est de 100 Mo par feuille est d'environ 1 Mo, il suffit donc de la diviser en 1000 et de lire uniquement la zone d'affichage. C'est dur.

N'est-il pas plus difficile d'afficher des programmes que de créer des données? Ceux qui pensent </ strong> ont raison. Je l'ai publié dans un autre article " Essayez d'utiliser une visionneuse d'images haute résolution open source de type Google Maps ". J'ai créé le mien avec ActionScript et CoffeeScript respectivement, mais je voudrais le présenter à un autre moment avec le triste arrière-plan que je ne connaissais pas le format DZI.

Revenons à DZI. L'outil de création de fichiers DZI est déjà fait en Python , alors téléchargez-le et essayez-le.

Veuillez consulter le fichier README pour savoir comment installer PIL.

Le contenu de l'exemple de programme est si simple qu'il n'est pas nécessaire de l'expliquer. Jetez un œil à examples / helloworld / helloworld.py.

!/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")

Ce n'est presque pas un problème si vous changez l'image d'entrée et l'image de sortie ... Vérifions les options d'ImageCreater pour le moment.

Ici, selon la notation de OpenZoom , l'image divisée en carrés est appelée une "tuile".

tile_size Combien de pixels l'image doit-elle être divisée verticalement et horizontalement? Les carreaux DZI sont essentiellement carrés.

tile_overlap C'est plus rapide si vous regardez l'image.

2932771418_82ceddfa0b.jpg

Si vous divisez les carreaux sans marges (comment dois-je les appeler) et les arrangez, vous risquez de scintiller. Pour éviter cela, l'option permettant de diviser plus grand que tile_size est appelée superposition de tuiles.

tile_format Lisez ceci tel quel. Cette fois, il est généré au format png, mais il peut également l'être au format jpg.

image_quality C'est également la même chose. Spécification de la qualité d'image. 1 est la limite supérieure.

resize_filter Je suis trop spécialisé dans ce domaine et je ne sais pas tout, mais si vous voulez en savoir plus, voyez ci-dessous. http://www.dfx.co.jp/dftalk/?p=13061

Si vous n'êtes pas particulier à ce sujet, vous pouvez utiliser bicubic.

Il existe d'autres modalités détaillées, donc si vous souhaitez en savoir plus, veuillez consulter ci-dessous. http://www.openzoom.org/

Maintenant, après avoir spécifié les options, l'image d'entrée et le nom du fichier de sortie, appuyez simplement sur

$ python helloworld.py

Vous devriez maintenant avoir un fichier DZI et un répertoire de nom de fichier_images dans le même répertoire.

La visionneuse sera expliquée dans " Essayez d'utiliser une visionneuse d'images haute résolution open source de type Google Maps ".

Merci pour votre soutien.

Recommended Posts

Essayez de créer le format de fichier DeepZoom .DZI en Python
Essayez de créer un fichier compressé en utilisant Python et zlib
Créer un fichier binaire en Python
Créer un fichier power simple avec Python
Essayez d'envoyer un paquet SYN en Python
Essayez de dessiner une animation simple en Python
[GPS] Créer un fichier kml avec Python
Essayez un tube de programmation fonctionnel en Python
format en python
Créer un fichier GIF en utilisant Pillow en Python
Calculons en fait le problème statistique avec Python
Lire un fichier contenant des lignes brouillées en Python
Comment créer un fichier JSON en Python
Créer un fichier au format Photoshop (.psd) avec python
Créez un fichier MIDI en Python en utilisant pretty_midi
Traitement de fichiers en Python
Format d'image en Python
Manipulation de fichiers avec Python
Essayez gRPC en Python
Essayez 9 tranches en Python
Analyser une chaîne JSON écrite dans un fichier en Python
Essayez de créer un module Python en langage C
Essayez de rechercher un profil d'un million de caractères en Python
Essayez d'incorporer Python dans un programme C ++ avec pybind11
Un mémorandum pour exécuter un script python dans un fichier bat
Je veux échantillonner au hasard un fichier avec Python
Exécuter un fichier Python avec une importation relative dans PyCharm
Prendre une capture d'écran en Python
Essayez d'exécuter python dans l'environnement Django créé avec pipenv
Formatez facilement JSON avec Python
Créer une fonction en Python
Créer un dictionnaire en Python
Changer la destination de sortie standard en un fichier en Python
Obtenez le type MIME en Python et déterminez le format de fichier
Comment importer des fichiers où vous le souhaitez en Python
Une note lors de la création d'un graphe dirigé à l'aide de Graphviz en Python
Essayez LINE Notify avec Python
[Note] Importation de fichiers dans le répertoire parent en Python
Créer un bookmarklet en Python
Essayez de créer un réseau de neurones en Python sans utiliser de bibliothèque
Implémentons Yuma dans Python 3
Dessinez un cœur en Python
Essayez d'exécuter une fonction écrite en Python à l'aide de Fn Project
Essayez simplement de recevoir un webhook avec ngrok et Python
Essayez d'obtenir la liste des fils du bulletin d'information (je n'aime pas) avec Python.
[Python / Django] Créer une API Web qui répond au format JSON
Lisez le fichier en Python avec un chemin relatif depuis le programme
Python vba pour créer une chaîne de date pour créer un nom de fichier
Obtenez la formule dans le fichier Excel sous forme de chaîne en Python
[ROS2] Comment lire un fichier bag avec le lancement au format python
Essayez d'ajouter un mur à votre fichier IFC avec IfcOpenShell python
Probablement dans un serpent Nishiki (Titre original: Peut-être en Python)
Compter des chaînes spécifiques dans un fichier
Ecrire une dichotomie en Python
Manipulation de chemin de fichier / dossier en Python
[python] Gérer les fonctions dans une liste
Appuyez sur une commande en Python (Windows)