• 百度全景数据采集与分析


    1、百度街景是什么
    全景是通过将平面数字图像转换为三维空间,从而带来拟真交互体验的地图浏览方式。
    全景技术通过专业相机将现实世界的空间场景捕捉下来,利用软件将多幅平面照片拼接合成,并模拟成三维空间的360度全景景观。全景具有真实感强、交互性强、易于沉浸的特点,可以真实地表现现实空间场景。
    百度全景首次诞生于2013年8月,在百度世界大会上重磅发布。与其他街景产品不同,百度全景不仅将全景图像技术运用于城市街道,还不断探索它在酒店、景点、餐厅、房产等其他场景的应用,力图将更多的空间场景数字化、三维化,从而实现“索引真实世界,构建虚拟空间”的宏大理想。百度全景深度整合在百度地图之中,作为对二维地图的延伸,百度全景把真实世界的空间场景带入到地图产品中,从而帮助人们更加方便地查找目的位置、了解周边环境。如今,百度全景支持PC端、iPhone、Android和Web App,未来还将支持iPad等更多终端平台,旨在打造跨平台、多终端的地图工具和生活服务平台。
    百度全景的目标不仅是创造最好用的全景产品,还要为身处各行各业的人们打造开放共赢的平台。百度全景向更多的商户发出邀请,鼓励他们参与到构建虚拟空间的理想中。而在这个良性发展的开放平台中,用户、商户都可以各取所需、展示自我,获得更加丰富多元的信息。

    2、百度街景如何采集
    百度地图API是为开发者免费提供的一套基于百度地图服务的应用接口,包括JavaScript API、Web服务API、Android SDK、iOS SDK、定位SDK、车联网API、LBS云等多种开发工具与服务,提供基本地图展现、搜索、定位、逆/地理编码、路线规划、LBS云存储与检索等功能,适用于PC端、移动端、服务器等多种设备,多种操作系统下的地图应用开发。
    百度地图JavaScript API是一套由JavaScript语言编写的应用程序接口,它能够帮助您在网站中构建功能丰富、交互性强的地图应用程序。百度地图API不仅包含构建地图的基本功能接口,还提供了诸如本地搜索、路线规划等数据服务。适用于PC或移动设备端的基于浏览器的开发。JS版本还为用户开放了开源库,简化开发。
    百度地图宣称所有API均免费对外开放。
    百度地图Web服务API包括Place API、Geocoding API、Direction API,能够快速响应用户的请求,返回xml&Json 数据。就百度地图API目前政策,若用户使用该套API,需要先申请key。其中Place API使用受限,其他均无限免费使用。
    百度移动版地图SDK,分为Android版与Symbian版,为移动设备地图应用开发提供基本地图、本地搜索、路线规划、定位等服务。若用户使用该套SDK,也需要先申请key。
    百度地图定位SDK,与百度移动版地图SDK相比,是以更小的体积提供给开发者,帮助开发者完成位置信息获取与应用开发的工具。百度地图目前提供Android和Symbian版本,且开发者是不需要申请key就可使用。
    百度地图车联网API,是百度地图于2012年6月推出的,为车联网行业定制的一套API。提供地图显示、地址解析、位置描述、本地搜索、周边搜索、驾车路径规划、信息发送、天气、交通事件等多种服务。
    百度地图LBS云,是百度地图2012年8月底新推出的,也是在百度世界大会2012为开发者提供的”七大武器“之一,即百度地图针对LBS开发者全新推出的服务,借助百度云服务与云计算,通过地图API,实现用户的海量位置数据云存储,同时,也可实现快速云检索。LBS·云将位置数据存储、空间检索、地图展现等任务一站式托管在百度云端,为开发者降低开发成本,有利于开发者提高开发效率。
    百度地图URI API,用户可在自己的应用或者网页中,直接调用网页版百度地图或者手机端(百度地图客户端或网页版)实现地图位置展示,公交换乘,周边信息展示等功能,还能通过一个URL串快速分享给他人。URI API支持PC端、移动版
    import urllib.request #打开网页模块
    import urllib.parse #转码模块
    import os
    import requests

    #这里的路径可替换为自己保存文件夹的路径
    save_path = r"F:\202006BaiDu\picture_save/"

    ak = “填入你的ak码”

    #判断文件夹是否存在,若不存在则创建
    if not os.path.exists(save_path):
    os.makedirs(save_path)

    #替换为你自己制作的txt路径及文件
    #从txt文件中读取坐标
    with open(r"F:\202006BaiDu\location.txt",“r”,encoding=‘UTF-8’)as f:
    location = f.readlines()

    #使用for循环遍历出每个location坐标
    for i in range(len(location)):
    #使用for循环,每一次都输出[0,1,2,3]这一列表
    for j in range(4):

        # 将列表中的第i个拿出来,并用split划分拿第0个
        location_number = (location[i].split(';')[0]).replace("\n", "")
        location_number = location_number.replace(";", "")
    
        #旋转的角度
        #[0,1,2,3] * 90 = [0,90,180,270]
        heading_number = str(90*j)
    
        url = r"https://api.map.baidu.com/panorama/v2?" \
              "&width=1024&height=512" \
              "&location="+location_number+\
              "&heading="+heading_number+ \
              "&ak=" + ak
    
        #文件保存名称
        save_name =save_path+str(i)+"."+str(j)+".jpg"
        print(url)
        #打开网页
        rep = urllib.request.urlopen(url)
        #将图片存入本地,创建一个save_name的文件,wb为写入
        f = open(save_name,'wb')
        #写入图片
        f.write(rep.read())
        f.close()
        print('图片保存成功')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    3、百度街景样图
    链接:https://pan.baidu.com/s/1EUXXDkCuBUBaGG2B3le30w
    提取码:7777
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    [附源码]计算机毕业设计JAVA毕业生离校管理系统
    视频转序列图片:高效批量转换,释放创造力
    【zeno】为zeno增加子模块/新节点的最小化的例子
    计算机网络性能
    【DSCTF2022】pwn补题记录
    VS+QT错误集合
    Java项目(三)-- SSM开发社交网站(3)--整合MyBatis-Plus及书评网数据库表设计
    2.1、基于并行上下文注意网络的场景文本图像超分辨率
    读书笔记之C Primer Plus 3
    NTRU 加密方案
  • 原文地址:https://blog.csdn.net/QQ_2801061513/article/details/127927019