選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 
 
 
Matthew Petroff 6fd8a09710 Fix edge case with multires tiles. 5年前
..
Dockerfile adding missing dockerfile dependency 5年前
generate.py Fix edge case with multires tiles. 5年前
readme.md Rewrite multires readme to not just be about Docker. 5年前

readme.md

Generating multi-resolution tiles for a panorama

Get a Panorama

If you don’t have your own, it’s easy to use one of the examples in the repository. From this directory, run:

$ cp ../../examples/examplepano.jpg .

Generate tiles

To use the generate.py script, either its dependencies need to be installed, or Docker can be used to avoid this installation.

Option 1: with local dependencies

The generate.py script depends on nona (from Hugin), as well as Python with the Pillow package. On Ubuntu, these dependencies can be installed by running:

$ sudo apt install python3 python3-pil hugin-tools

Once the dependencies are installed, a tileset can generated with:

$ python3 generate.py examplepano.jpg
Processing input image information...
Assuming --haov 360.0
Assuming --vaov 180.0
Generating cube faces...
Generating tiles...
Generating fallback tiles...

Option 2: with Docker

A small Dockerfile is provided that allows one to easily generate a panorama tileset with the generate.py script, without needing to install dependencies on one’s host.

First, build the Docker container:

$ docker build -t generate-panorama .

When it’s finished, you can bind the present working directory to a location in the container (/data) so that your image is found in the container. Notice that the output needs to be specified in a directory that is bound to the host:

$ docker run -it -v $PWD:/data generate-panorama --output /data/output /data/examplepano.jpg
Processing input image information...
Assuming --haov 360.0
Assuming --vaov 180.0
Generating cube faces...
Generating tiles...
Generating fallback tiles...

Viewing output (for either method)

The final output will be in your present working directory:

$ ls output/
1  2  3  config.json  fallback

Next, change back to the root and start a server:

$ cd ../..
$ python3 -m http.server

A generated tileset and configuration in utils/multires/output can then be viewed by navigating a browser to:

http://localhost:8000/src/standalone/pannellum.htm?config=../../utils/multires/output/config.json

When the page is loaded, the console will output a logging stream corresponding to the HTTP requests:

127.0.0.1 - - [09/Aug/2019 09:41:24] "GET /src/standalone/pannellum.htm?config=../../utils/multires/output/config.json HTTP/1.1" 200 -
127.0.0.1 - - [09/Aug/2019 09:41:24] "GET /src/css/pannellum.css HTTP/1.1" 200 -
127.0.0.1 - - [09/Aug/2019 09:41:24] "GET /src/standalone/standalone.css HTTP/1.1" 200 -
127.0.0.1 - - [09/Aug/2019 09:41:24] "GET /src/js/libpannellum.js HTTP/1.1" 200 -
127.0.0.1 - - [09/Aug/2019 09:41:24] "GET /src/js/pannellum.js HTTP/1.1" 200 -
127.0.0.1 - - [09/Aug/2019 09:41:24] "GET /src/standalone/standalone.js HTTP/1.1" 200 -
127.0.0.1 - - [09/Aug/2019 09:41:24] "GET /utils/multires/output/config.json HTTP/1.1" 200 -
127.0.0.1 - - [09/Aug/2019 09:41:24] "GET /src/css/img/background.svg HTTP/1.1" 200 -
127.0.0.1 - - [09/Aug/2019 09:41:24] "GET /src/css/img/sprites.svg HTTP/1.1" 200 -
127.0.0.1 - - [09/Aug/2019 09:41:24] "GET /src/css/img/compass.svg HTTP/1.1" 200 -
127.0.0.1 - - [09/Aug/2019 09:41:26] "GET /src/css/img/grab.svg HTTP/1.1" 200 -
127.0.0.1 - - [09/Aug/2019 09:41:27] "GET /utils/multires/output//1/r0_0.jpg HTTP/1.1" 200 -
127.0.0.1 - - [09/Aug/2019 09:41:27] "GET /utils/multires/output//1/f0_0.jpg HTTP/1.1" 200 -
127.0.0.1 - - [09/Aug/2019 09:41:27] "GET /utils/multires/output//1/u0_0.jpg HTTP/1.1" 200 -
...

The panorama, in multi-resolution format, should display in the browser.