dongchang/007_main.py
2025-01-13 10:22:55 +08:00

47 lines
1.2 KiB
Python

import yaml
import uvicorn
from src.camera_handler import RTSPCamera
from src.person_detector import PersonDetector
from src.distance_estimator import DistanceEstimator
from src.api_server import DistanceAPI, app
def load_config():
with open('config/config.yaml', 'r') as f:
return yaml.safe_load(f)
def main():
config = load_config()
# 初始化摄像头
camera = RTSPCamera(
config['camera']['rtsp_url'],
config['camera']['fps']
)
camera.start()
# 初始化检测器
detector = PersonDetector(
config['model']['person_detection']['model_name'],
config['model']['person_detection']['confidence_threshold']
)
# 初始化距离估算器
estimator = DistanceEstimator(
config['model']['distance_estimation']['focal_length'],
config['model']['distance_estimation']['sensor_height'],
config['model']['distance_estimation']['average_person_height']
)
# 初始化API
distance_api = DistanceAPI(camera, detector, estimator)
app.distance_api = distance_api
# 启动API服务器
uvicorn.run(
app,
host=config['api']['host'],
port=config['api']['port']
)
if __name__ == "__main__":
main()