Browse Source

update repository

haminhtien99 5 months ago
parent
commit
6781f88561
2 changed files with 20 additions and 10 deletions
  1. 1 1
      README.md
  2. 19 9
      distance_estimation/camera_position.py

+ 1 - 1
README.md

@@ -73,5 +73,5 @@ Dữ liệu hiệu chuẩn camera lưu tại tệp .npz. Dữ liệu này bao g
 - Phương pháp này tính toán vị trí tương đối camera so với marker bằng việc nhân ma trận nghịch đảo của phép xoay với rVec với tVec.
 - Phương pháp này tính toán vị trí tương đối camera so với marker bằng việc nhân ma trận nghịch đảo của phép xoay với rVec với tVec.
 - Lấy `marker_0` làm gốc, tọa độ các marker khác được cài đặt trong file `default_config.py`
 - Lấy `marker_0` làm gốc, tọa độ các marker khác được cài đặt trong file `default_config.py`
 - In ra màn hình kết quả các giá trị `x, y, z, roll, pitch, yaw` - lần lượt tọa độ camera trong hệ tọa độ marker_0 làm gốc, `roll, pitch, yaw` - góc quay camera so với mặt phẳng chứa marker
 - In ra màn hình kết quả các giá trị `x, y, z, roll, pitch, yaw` - lần lượt tọa độ camera trong hệ tọa độ marker_0 làm gốc, `roll, pitch, yaw` - góc quay camera so với mặt phẳng chứa marker
-- Đặt  `visualization= True` để hiển thị video với tọa độ camera so với `marker_0`. Nhấn phím `q` để kết thúc, thoát video
+- Đặt  `visualization= True` để hiển thị video với tọa độ camera `(x, y, z)` cùng với góc quay `(roll, pitch, yaw)` so với `marker_0`. Nhấn phím `q` để kết thúc, thoát video
 - Nếu `visualization=False`, nhấn `Ctrl + C` để thoát.
 - Nếu `visualization=False`, nhấn `Ctrl + C` để thoát.

+ 19 - 9
distance_estimation/camera_position.py

@@ -127,15 +127,25 @@ while True:
                 cam_position += v
                 cam_position += v
             cam_position /= len(markers)
             cam_position /= len(markers)
 
 
-        print(','.join(f'{i:.1f}' for i in position.tolist()))
-        cv2.putText(
-            frame,
-            ','.join(f'{i:.1f}' for i in position.tolist()),
-            (10, 20),
-            cv2.FONT_HERSHEY_PLAIN,
-            1.,
-            (0, 255, 0), 1, cv2.LINE_AA
-        )
+        print(','.join(f'{i:.1f}' for i in cam_position.tolist()))
+        if visualization:
+            cv2.putText(
+                frame,
+                ','.join(f'{i:.1f}' for i in cam_position[:3].tolist()),
+                (10, 20),
+                cv2.FONT_HERSHEY_PLAIN,
+                1.,
+                (0, 255, 0), 1, cv2.LINE_AA
+            )
+            cv2.putText(
+                frame,
+                ','.join(f'{i:.1f}' for i in cam_position[3:].tolist()),
+                (10, 40),
+                cv2.FONT_HERSHEY_PLAIN,
+                1.,
+                (0, 0, 255), 1, cv2.LINE_AA
+            )
+
     if visualization:
     if visualization:
         cv2.imshow("frame", frame)
         cv2.imshow("frame", frame)
         key = cv2.waitKey(1)
         key = cv2.waitKey(1)