私は Python での画像解析に問題がある R ユーザーです。画像の中心にある建物の面積を計算する効率的な方法は何ですか? 目標は、エッジ アルゴリズムを Google マップの静止画像に適用し、住所の屋上の表面積を計算することです。
from pygeocoder import Geocoder
import urllib
import numpy as np
from scipy import ndimage
from skimage import filter, io, measure
import matplotlib.pyplot as plt
def getMap(address):
"""Geocode address and retreive image centered
around lat/long"""
results = Geocoder.geocode(address)
lat, lng = results[0].coordinates
zip_code = results[0].postal_code
map_url = 'https://maps.googleapis.com/maps/api/staticmap?center={0},{1}&size=640x640&zoom=19&sensor=false&maptype=roadmap&&style=visibility:simplified|gamma:0.1'
request_url = map_url.format(lat, lng)
req = urllib.urlopen(request_url)
return(req)
def mapEdge(req):
"""Convert img to bytearray and do edge detection
on centered building"""
img = io.imread(req.geturl(),flatten=True)
labels, numobjects = ndimage.label(img)
edges = filter.canny(img, sigma=3)
plt.imshow(edges, cmap=plt.cm.gray)
plt.show()
map_tmp = getMap('1403 Elmwood Ave., Evanston, IL')
mapEdge(map_tmp)