/
vasandi
/
AirSim
Обзор
Документация
Войти
/
vasandi
/
AirSim
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
PythonClient/detection/detection.py
43 строки
2 KB
Андрей Васильченко
сборка под ubuntu 26.04
08 июл 2026, 10:15
08 июл 2026, 10:15
d53c5a2
Код
Авторство
О чём код?
import setup_path import airsim import cv2 import numpy as np import pprint # connect to the AirSim simulator client = airsim.VehicleClient() client.confirmConnection() # set camera name and image type to request images and detections camera_name = "0" image_type = airsim.ImageType.Scene # set detection radius in [cm] client.simSetDetectionFilterRadius(camera_name, image_type, 200 * 100) # add desired object name to detect in wild card/regex format client.simAddDetectionFilterMeshName(camera_name, image_type, "Cylinder*") while True: rawImage = client.simGetImage(camera_name, image_type) if not rawImage: continue png = cv2.imdecode(airsim.string_to_uint8_array(rawImage), cv2.IMREAD_UNCHANGED) cylinders = client.simGetDetections(camera_name, image_type) if cylinders: for cylinder in cylinders: s = pprint.pformat(cylinder) print("Cylinder: %s" % s) cv2.rectangle(png,(int(cylinder.box2D.min.x_val),int(cylinder.box2D.min.y_val)),(int(cylinder.box2D.max.x_val),int(cylinder.box2D.max.y_val)),(255,0,0),2) cv2.putText(png, cylinder.name, (int(cylinder.box2D.min.x_val),int(cylinder.box2D.min.y_val - 10)), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (36,255,12)) cv2.imshow("AirSim", png) if cv2.waitKey(1) & 0xFF == ord('q'): break elif cv2.waitKey(1) & 0xFF == ord('c'): client.simClearDetectionMeshNames(camera_name, image_type) elif cv2.waitKey(1) & 0xFF == ord('a'): client.simAddDetectionFilterMeshName(camera_name, image_type, "Cylinder*") cv2.destroyAllWindows()