BirdsDetectionRealTime / hikvision.py
pacomesimon's picture
update gradio
b4b4853
import cv2
import numpy as np
# hikvision_cameras_dict = {
# 1: cv2.VideoCapture("rtsp://admin:Admin123@192.168.254.200:554/Streaming/Channels/101", cv2.CAP_FFMPEG),
# 2: cv2.VideoCapture("rtsp://admin:Admin123@192.168.254.201:554/Streaming/Channels/101", cv2.CAP_FFMPEG),
# 3: cv2.VideoCapture("rtsp://admin:Admin123@192.168.254.202:554/Streaming/Channels/101", cv2.CAP_FFMPEG),
# 4: cv2.VideoCapture("rtsp://admin:Admin123@192.168.254.203:554/Streaming/Channels/101", cv2.CAP_FFMPEG),
# }
hikvision_cameras_dict = {
1: cv2.VideoCapture("./example_videos/birdsflyingduringsunsetinmadrid_preview-SMALLER.mp4"),
2: cv2.VideoCapture("./example_videos/birdsflyingovertreesatsunset_preview.mp4"),
3: cv2.VideoCapture("./example_videos/secondmacarthurbridgetaipei03_preview.mp4"),
4: cv2.VideoCapture("./example_videos/birdsflyingduringsunsetinmadrid_preview-SMALLER.mp4"),
}
def get_image_from_HIKvision_camera(camera_id):
global hikvision_cameras_dict
cap = hikvision_cameras_dict[camera_id]
if not cap.isOpened():
print("Error: Could not open video stream.")
return np.zeros((256,256,3))
ret, frame = cap.read()
if ret:
return frame
else:
print("Failed to grab frame")
return np.zeros((256,256,3))
def release_all_caps(dummy_variable=None):
global hikvision_cameras_dict
{
(k,cap.release()) for (k,cap) in hikvision_cameras_dict.items()
}
# # Example usage:
# frame = get_image_from_HIKvision_camera(
# camera_id = 1)