Le travail effectué dans CAPTURING SPHERICAL SCENES FROM GOOGLE STREETVIEW est réalisé avec un script python. J'ai essayé de le faire.
Veuillez lire attentivement la licence Google Street View avant d'utiliser ce script.
python 2.7.10
append.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import shutil
import re
import sys
class Panorama:
def __init__(self, url):
self.path = "./tmp/"
self.panoid = self.parseID(url)
#panorama size = 12*25
self.x = 12
self.y = 25
def parseID(self,url):
dna = "!1s"
m = url.find(dna)
if m != -1:
return url[m+3:m+25]
else:
return ""
def mkdirTmp(self):
if os.path.exists(self.path):
pass
else:
os.mkdir(self.path)
def clean(self):
shutil.rmtree(self.path)
def downloadImage(self):
cmd = 'curl http://cbk0.google.com/cbk?output=tile\&panoid=' + self.panoid + '\&zoom=5\&x=[0-25]\&y=[0-12] -o ' + self.path + '"tile_#1-#2.jpg "'
os.system(cmd)
def appendImage(self):
#Connectez-vous sur le côté
for x in range(0, self.x+1):
cmd = "convert +append "
for y in range(0, self.y+1):
#Fichier d'entrée
inFile = self.path + "tile_%d-%d.jpg "% (y,x)
#Concaténer à la chaîne de commande
cmd += inFile + " "
#Définir le nom du fichier de sortie
cmd += self.path + "%d.jpg "%x
#print cmd
#Courir
os.system(cmd)
#Connectez-vous verticalement
cmd = "convert -append "
for x in range(0,self.x):
cmd += self.path + "%d.jpg "%x + " "
cmd += "append.jpg "
#print cmd
os.system(cmd)
if __name__ == "__main__":
url = "https://www.google.co.jp/maps/@34.7020532,135.5020237,3a,75y,285h,99t/data=!3m7!1e1!3m5!1sBLX3E8R5JxUJnuHlPGg5kw!2e0!6s%2F%2Fgeo3.ggpht.com%2Fcbk%3Fpanoid%3DBLX3E8R5JxUJnuHlPGg5kw%26output%3Dthumbnail%26cb_client%3Dmaps_sv.tactile.gps%26thumb%3D2%26w%3D203%26h%3D100%26yaw%3D285.21%26pitch%3D9.21!7i13312!8i6656?hl=ja&hl=ja"
pano = Panorama(url)
if len(pano.panoid) > 0:
pano.mkdirTmp()
pano.downloadImage()
pano.appendImage()
pano.clean()
Recommended Posts