ephemera02/GeoScout

GitHub: ephemera02/GeoScout

一款基于街景和卫星图像视觉比对的开源地理定位侦察工具,通过自动化网格搜索解决人工找图的效率瓶颈。

Stars: 0 | Forks: 0

# GeoScout 用于街景、卫星和摄像头侦察,帮你弄清一张图片到底是在哪拍的。 *作者:Eph,来自 [ephemeradev.net](https://ephemeradev.net) · 始于 2026 · 开源项目 💜* 当你有了一张照片、一张屏幕截图、一帧视频画面,或者某个奇葩的小图片碎片,而你不想再瞎猜时,GeoScout 就派上用场了。上传参考图像,画一个搜索框,选择你的数据源,让应用程序去搜索视觉匹配,而不是让你在地图上手动拖来拖去,直到灵魂出窍。 它作为一款浏览器应用运行,支持本地运行,可以自托管在公网上,现在还配备了正规的控制中心 UI,而不是那种某人在凌晨 3 点搞出来、随便交差的通用聊天机器人侧边栏。 ## 功能特性 - 上传参考图像并在导入时剥离元数据 - 跨多个图像源搜索绘制区域 - 使用多种比较方法对候选图像进行评分 - 将可能的匹配项直接放到地图上 - 接入公共摄像头源数据 - 在你需要凭据时导出会话数据和 CSV 结果 ## 工作原理 1. 上传你的参考图像。 2. 搜索某个地点或在地图上绘制目标区域。 3. 选择你要扫描的图像源。 4. 让 GeoScout 运行网格并开始投放匹配项。 在底层它结合了: - `pHash` - `SSIM` - `Color histogram` - `Template matching` 你可以根据源图像的混乱程度,调整权重、阈值、间距、航向角和提供商设置。 ## 搜索模式 ### Mapillary 免费,覆盖全球,通常是最好的切入点。如果你想要街景图像又不想立刻考虑账单问题,选她就对了。 ### Google Street View 图像更清晰,控制更精细,更具企业级质感,当然,可能需要付费。当你想要更强大的街道覆盖率和更精细的航向角控制,并且愿意让 Google 为你的好奇心标价时,这是一个好选择。 ### Baidu Panorama 用于中国地区的覆盖,因为假装 Google 能解决所有地理问题是一种失败者的行为。GeoScout 会为你处理坐标转换的烂摊子,这样你就不必手动去照顾那些破事了。 ### 卫星 用于俯视图、屋顶、建筑群、地块、奇怪的航空参考图,以及所有街景覆盖无用或完全什么也提供不了的情况。 ## 摄像头情报 GeoScout 还可以叠加来自以下来源的摄像头数据: - `OSM` - `Shodan` - `Insecam` 如果视频流的 URL 可访问,你还可以将摄像头画面与你上传的参考图进行比较。 ## 当前工具集 - 绘制到搜索的工作流 - 实时扫描进度 - 带有源链接的匹配标记 - 剥离元数据的上传 - 简洁的参考图下载 - 会话导入/导出 - 匹配项 CSV 导出 - 扫描前的成本估算 - 用于隐藏控制中心和叠加层的地图布局控件 ## 运行说明 ### 本地运行 安装依赖项: ``` pip install -r requirements.txt ``` 运行: ``` python app.py ``` 打开: ``` http://localhost:5001 ``` ### 公共部署 当前的 HTTPS 部署: [https://geoscout.ephemeradev.net/](https://geoscout.ephemeradev.net/) ## 密钥 GeoScout 默认不提供提供商密钥。请使用你自己的密钥。 - 用于 Mapillary 扫描的 `Mapillary` token - 用于 Google Street View 和 Google 卫星使用的 `Google` API key - 用于 Baidu 全景使用的 `Baidu` key - 用于 Shodan 摄像头搜索的 `Shodan` key 如果你在没有密钥的情况下尝试启动需要密钥的扫描模式,后端现在会直接拒绝,因为虚假的自信是很丑陋的。 ## 项目结构 - `app.py` - 后端路由、扫描引擎、比较逻辑、摄像头源逻辑 - `index.html` - 主要前端模板 - `requirements.txt` - Python 依赖项 - `static/` - 打包的前端资源 - `uploads/` - 本地上传的参考图 - `results/` - 生成的输出 ## 注意事项 - 上传的参考图存储在本地。 - 外部提供商仍然可能不稳定,因为第三方服务就喜欢毁掉大家的一天。 - 付费提供商可能会根据你的使用情况收费。 - 这是一款调查工具,不是玩具,尽管现在的 UI 看起来更顺眼了。 - 如果出了问题,可能是 API、速率限制,或者某个外部服务突然变得极度烦人。 ## 预期用途 OSINT、核查、新闻业、研究、地点分析,以及在群聊中比那个大声瞎猜的人更准确。 合法使用。负责任地使用。不要用它来做变态的事。 ## 鸣谢 由 Eph / Ephemera 创建。 基于 Flask、Pillow、NumPy、Leaflet 和 Leaflet.Draw 构建。图像和摄像头数据来自外部提供商,包括 Mapillary、Google、Baidu、ESRI、Sentinel-2、OpenStreetMap、Shodan 和 Insecam。 主站: [https://ephemeradev.net/](https://ephemeradev.net/) ## 许可证 参见 [LICENSE](LICENSE)。 如果源图像有点难搞,请先提高阈值、缩小搜索区域并更换图像源,然后再认定整个应用在骗你。
标签:ESC4, GeoScout, GIS, Google街景, Mapillary, OSINT, pHash, SSIM, 二进制发布, 元数据剥离, 全景图, 卫星图像, 后端开发, 图像定位, 图像比对, 图像溯源, 图像相似度, 地理位置推断, 地理信息系统, 地理定位, 开源工具, 摄像机侦查, 模板匹配, 照片分析, 照片定位, 百度全景, 自托管, 街景搜索, 视觉侦察, 视觉匹配, 逆向工具, 颜色直方图