pritmanvar-bacancy's picture
Upload 31 files
3c87883 verified
# file to get distances of object from image
# Configure the logger
import logging
logging.basicConfig(
level=logging.DEBUG,
format="%(asctime)s - %(levelname)s - %(message)s",
filename="logs.log",
)
# Create a logger
logger = logging.getLogger("pipline")
#constants
PERSON_HEIGHT = 1.5
VEHICAL_HEIGHT = 1.35
ANIMAL_HEIGHT = 0.6
FOCAL_LENGTH = 6400
def get_distances(merged_boundary_boxes):
"""get distance of object fro image
Args:
merged_boundary_boxes (json array): takes json array of detected image's data
Returns:
distance_list: list of distances of each object
"""
logger.info("get_distances function is called...")
try:
distance_list = []
for box in merged_boundary_boxes:
for actual_box in box['actual_boundries']:
height = actual_box['bottom_right'][1] - actual_box['top_left'][1]
if actual_box['class'] == "person":
distance = FOCAL_LENGTH*PERSON_HEIGHT/height
elif actual_box['class'] == "vehical":
distance = FOCAL_LENGTH*PERSON_HEIGHT/height
else:
distance = FOCAL_LENGTH*PERSON_HEIGHT/height
distance_list.append(str(round(distance)) + "m")
return distance_list
except Exception as e:
logger.error("Something went wrong in distance estimation function...")
logger.error(e)