Files
RflySimhighschool/基础智能/e6.无人机视觉传感器介绍实验/ReadTimeStmp.py
2025-07-25 17:54:28 +08:00

63 lines
2.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# -*- coding: utf-8 -*-
import cv2
import sys
import time
import VisionCaptureApi
import os
import UE4CtrlAPI
ue = UE4CtrlAPI.UE4CtrlAPI()
# The IP should be specified by the other computer
vis = VisionCaptureApi.VisionCaptureApi()
# Send command to UE4 Window 1 to change resolution
ue.sendUE4Cmd('r.setres 720x405w',0) # 设置UE4窗口分辨率注意本窗口仅限于显示取图分辨率在json中配置本窗口设置越小资源需求越少。
ue.sendUE4Cmd('t.MaxFPS 200',0) # 设置UE4最大刷新频率同时也是取图频率
ue.sendUE4Cmd('stat fps',0) #在UE4窗口显示当前刷新频率
time.sleep(2)
# VisionCaptureApi 中的配置函数
vis.jsonLoad() # 加载Config.json中的传感器配置文件
# vis.RemotSendIP = '192.168.3.80'
# 注意手动修改RemotSendIP的值可以将图片发送到远端Linux电脑的IP地址
# 如果不修改这个值那么发送的IP地址为json文件中SendProtocol[1:4]定义的IP
# 图片的发送端口为json中SendProtocol[5]定义好的。
#vis.isUE4DirectUDP=True
# 注意手动修改本命令能强制将图片发送机制为UE4直接发出UDP图片到指定IP地址
# 如果不修改这个值那么发送机制由json文件中SendProtocol[0]中定义
isSuss = vis.sendReqToUE4() # 向RflySim3D发送取图请求并验证
if not isSuss: # 如果请求取图失败,则退出
sys.exit(0)
vis.sendImuReqCopterSim() # 发送请求从目标飞机CopterSim读取IMU数据,回传地址为127.0.0.1默认频率为200Hz
# 执行本语句之后会自动开启数据监听已经可以通过vis.imu读取到IMU数据了。
vis.startImgCap() # 开启取图循环执行本语句之后已经可以通过vis.Img[i]读取到图片了
# 启用时间戳打印功能
#vis.isPrintTime=True
print('Start Image Reciver')
time.sleep(5)
for i in range(len(vis.Img)):
print('Data for #',vis.VisSensor[i].SeqID)
print('rflyStartStmp',vis.rflyStartStmp[i]) # rflyStartStmp[i]是CopterSim启动
#TargetCopter对应的飞机py所在电脑的时间系统时间或ROS时间
# 注意如果isEnableRosTrans被启用rflyStartStmp[i]使用的是ROS时间反之使用的是系统UNIX时间
print('timeStmp',vis.timeStmp[i]) # timeStmp[i]是从CopterSim启动到当前数据生成的时间
print('imgStmp',vis.imgStmp[i]) # imgStmp[i] = rflyStartStmp[i]+timeStmp[i]是图像真实时间戳
print('imu.rflyStartStmp',vis.imu.rflyStartStmp)# rflyStartStmp是CopterSim启动时py所在电脑的系统或ROS时间戳
print('imu.timestmp',vis.imu.timestmp) # timeStmp是从CopterSim启动到当前数据生成的时间
print('imu.imuStmp',vis.imu.imuStmp) # imuStmp=rflyStartStmp+timeStmp是IMU真实时间戳
print('')