将外部 GPS 设备与 Ladybug 相机结合使用
支持的产品
Ladybug5+、Ladybug6
01
概述
Ladybug 库均可与 GPS 设备连接,并可将 NMEA 语句数据插入 Ladybug 图像之中。随后可将该数据提取出来,用以生成 HTML 数据,该 HTML 数据可显示为谷歌地图或 KML 数据,而该 KML 数据则可载入谷歌地球。注意:Ladybug 相机具有每秒脉冲数 (PPS) 功能,允许您将图像时间戳与 GPS 时间同步。有关使用 PPS 与 GPS 时间同步的信息,请参阅使用 PPS 与外部 GPS 同步。()02
处理 GPS 数据
您可以将 GPS 接收器与 Ladybug 相机结合使用,以记录带有流文件的 GPS 数据,生成谷歌地图或谷歌地球文件,并下载 GPS 数据文件。当 GPS 位置在指定距离后发生变化时,您可以将图像记录到流文件。此功能可使用 Ladybug API。有关详细信息,请参阅 ladybugSimpleRecording 示例。将GPS接收器与Ladybug一起使用时,请记住以下几点:
→ 您的 GPS 接收器应具有串行或 USB 接口,用于连接笔记本电脑,并能够实时传输 NMEA 0183 数据。
→为了提供可靠的数据,您的 GPS 设备应显示与至少 3 颗卫星的连接。
→从首次将 GPS 设备连接到 PC 到它被识别和配置为与 LadybugCapPro 配合使用,可能需要一段时间。→支持以下 GPS NMEA 数据结构:GPGGA、GPGSA、GPGSV、GPRMC、GPZDA、GPVTG 和 GPGLL。03
将 GPS 与 LadybugCapPro 配合使用
配置 GPS 接收器在捕获 GPS 数据之前,使用主工具栏上的 LadybugCapPro 选项按钮指定与 GPS 接收器通信的一些基本设置。记录 GPS 数据和生成地图文件配置 GPS 接收器后,即可使用 GPS 工具栏记录 GPS 数据并生成谷歌地图或谷歌地球文件。■单击图标开始从 GPS 装置接收位置数据。当与捕获流文件一起使用时,GPS 数据与流文件一起保存。此控件在记录的流模式下不可用。再次单击以停止 GPS 记录。■单击图标,根据之前使用流文件记录的 GPS 数据创建谷歌地图文件。您也可以选择加载文件。需要互联网连接才能查看文件。谷歌地图以 .html 文件形式存储在 Ladybug 安装目录的 bin 文件夹中。此控件在图像捕获模式下不可用。■单击图标,根据使用流文件记录的 GPS 数据创建谷歌地球文件。您也可以选择加载文件。需要谷歌地球应用程序和互联网连接才能查看文件。谷歌地球文件以 .kml 文件形式存储在 Ladybug 安装目录的 bin 文件夹中。此控件在图像捕获模式下不可用。您可以下载包含所记录流文件每一帧的 GPS 数据的数据文件。从 GPS 菜单项中,选择生成 GPS/帧信息。生成文件后,会弹出一个对话框,告知您文件的位置。04
将 GPS 与 Ladybug API 配合使用有关代码示例,请参阅 ladybugSimpleGPS 示例。可从以下网址访问示例:“开始”菜单 -> Point Grey Ladybug SDK-> 示例检测 GPS COM 端口使用 GPS 功能需要使用 GPS 设备。必须知道 GPS 设备所连接的 COM 端口。要确定端口,请执行以下步骤:1.右键单击“我的电脑”。2.单击“硬件”选项卡,然后单击“设备管理器”按钮。3.展开“端口(COM 和 LPT)”节点,并记下 GPS 设备映射到的 COM 端口。记录 GPS 数据和生成地图文件以下步骤简要概述了如何使用 Ladybug 库的 GPS 功能:1. 通过调用 ladybugCreateGPSContext() 创建 GPS 上下文 (LadybugGPSContext)。这可以在创建 Ladybug 相机上下文的同时完成。2. 通过调用 ladybugRegisterGPS() 将 GPS 上下文注册到 Ladybug 相机上下文中。单个 GPS 上下文可以注册到多个 Ladybug 相机上下文中。3. 通过调用 ladybugInitializeGPS() 来初始化设备。4. 通过调用 ladybugStartGPS() 启动 GPS 设备。当调用 ladybugStart() 时,可能会调用此函数。大约需要 5 秒,GPS 数据方可用。5. 一旦图像采集激活,就有会几个图像采集选项。选项包括:◆从 GPS 设备或 LadybugImage 获取 NMEA 数据函数 ladybugGetGPSNMEAData 或 ladybugGetGPSNMEADataFromImage 可用于从 GPS 设备或 LadybugImage 获取单个 NMEA 语句。如果只需要一小部分值(例如,只需要纬度和经度),通常就足够了。如果需要所有语句,调用 ladybugGetAllGPSNMEAData 或 ladybugGetAllGPSNMEADataFromImage 将使用所有支持的 NMEA 语句(如果可用)填充 LadybugNMEAGPSData 结构。每个 NMEA 结构都有一个名为 bValidData 的布尔值。仅当该结构中包含的数据有效时,此值才为真。◆从 LadybugImageInfo 结构获取 GPS 数据在 JPEG 模式下采集图像时,每个 LadybugImage 中都有填充的 LadybugImageInfo 结构。当 GPS 功能激活时,将填充以下值:●dGPSAltitude●dGPSAltitude●dGPSLongitude如果这些值中的任何一个值等于 LADYBUG_INVALID_GPS_DATA,则应将其视为无效。6. 图像采集完成后,调用 ladybugStopGPS() 以停止从 GPS 设备获取数据。7. 调用 ladybugUnregisterGPS() 以取消注册 GPS 上下文。8. 通过调用 ladybugDestroyGPSContext() 来破坏上下文。9. 如果已初始化流上下文进行读取,则使用相关的 LadybugGPSFileType 调用 ladybugWriteGPSSummaryDataToFile 会生成整个流文件的 GPS 数据。