You can use this code to measuere the distance from object to camera using single camera ๐ท .
I have detect a face in the frame and estimated a distance using the width of face.
git clone https://github.com/Asadullah-Dal17/Distance_measurement_using_single_camera
-
Windows
pip install opencv-python
-
install Opencv-python on Linux or Mac
pip3 install opencv-python
-
windows: ๐
python distance.py
------ OR ---------
python Updated_distance.py
-
linux or Mac ๐
python3 distance.py
------ OR ---------
python3 Updated_distance.py
# focal length finder function
def FocalLength(measured_distance, real_width, width_in_rf_image):
focal_length = (width_in_rf_image* measured_distance)/ real_width
return focal_length
The Focal Length finder Function Tacks Three Arguments:
measured_distance
It is distance which we have measured while capturing reference image:straight_ruler:. From object to Camera which is Known_distance = 72.2 #centimeter
real_width
Its measure with width of object in real world, here i measure the width of face in real world which was Known_width =14.3 #centimeter
width_in_rf_image
it width of object in the image/frame it will be in pixels
# distance estimation function
def Distance_finder (Focal_Length, real_face_width, face_width_in_frame):
distance = (real_face_width * Focal_Length)/face_width_in_frame
return distance
This Funciton Taks Three Argument,
Focal_Length
it is focal length, out of FocalLength finder function.
real_face_width
Its measure width of object in real world, here i measure the width of face in real world which was Known_width =14.3 #centimeter
face_width_in_frame
width of face in the frame, unit will pixels here.
You can Which my Video on the Youtube: https://youtu.be/zzJfAw3ASzY
I have also create Face Following Robot which use distance Estimation, if you are interested you can Watch my Youtube Video
if You found this Helpful, please star โญ it.
if you have any Query feel free to ask me on my Social Media.