相信许多朋友都有街景图像分析的需求,这时便需要爬取公开的百度街景,如果是境外的城市,就需要从谷歌街景上爬取数据。
关于街景的爬取,不管是百度街景还是谷歌街景,都需要设置几个关键的参数:
heading表示相机的罗盘方向。接受的值范围为0到360(这两个值都表示北,90表示东,180表示南)。如果未指定航向,系统将计算出一个值,将相机从拍摄最接近照片的点指向指定location。fov(默认值为90)决定了图片的水平视野。视野以度数表示,允许的最大值为120。处理固定尺寸的视口时(与处理固定尺寸的街景图像时一样),视野本质上表示变焦,数字越小表示变焦级别越高。pitch(默认为0)指定相机相对于街景拍摄车的向上或向下倾斜角度()。该角度通常(但并不总)是水平的。正值表示相机向上倾斜(90度表示相机垂直向上);负值表示相机向下倾斜(-90表示相机垂直向下)。
只要控制了这些参数,我们便可以根据自己的需求获得对应样式的街景,可获取360℃全景图像或者任意方向任意角度范围的街景图。
首先要截取目标城市或者目标区域的路网文件,路网文件可以在OpenStreetMap等开放地图下载。
然后可以通过gis软件中的“根据距离生成点”工具,可以根据采样距离生成相同间隔的采样点。
获取了采样点后,便可将坐标文件输出,作为爬取的依据。这里我们都是采样WG84坐标。
可以设置水平角度来获取对应视角的图片,一般每个采样点爬四张。
360°的全景图不能直接爬取,需要设置合适的参数爬取多张,然后进行拼接。
街景都是通过街景采集车获取,采集车的方向一般情况下都是与道路方位角一致的,如果我们想获取与道路呈特定视角的街景,也可以车头方向为基准进行角度的调整。
比如我们想获取的四个视角分别是:车头方向、车尾方向、汽车正左、汽车正右获取的效果下图:
关于街景的爬取,都会存在数额限制的问题,针对这个问题,当然也是有解决方案的。