|
@@ -9,19 +9,13 @@ import time
|
|
|
import numpy as np
|
|
|
import os
|
|
|
from cmarkers import getCMarkers, get_transform_matrix_points
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
def open_camera(cam_id = 1):
|
|
|
cap = cv2.VideoCapture(cam_id)
|
|
|
return cap
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
def get_frame(device):
|
|
|
ret, img = device.read()
|
|
|
if (ret == False):
|
|
@@ -29,16 +23,13 @@ def get_frame(device):
|
|
|
return None
|
|
|
return img
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
def cleanup(cam_id = 0):
|
|
|
cv2.destroyAllWindows()
|
|
|
cv2.VideoCapture(cam_id).release()
|
|
|
|
|
|
|
|
|
-
|
|
|
+
|
|
|
corner_point_list = []
|
|
|
|
|
|
|
|
@@ -115,7 +106,8 @@ def get_transform_matrix(dev, board_size, dpi, calib_file = None):
|
|
|
|
|
|
|
|
|
|
|
|
- dest = np.array( [ (0, 0), (0, board_size[1]*dpi), (board_size[0]*dpi, 0), (board_size[0]*dpi, board_size[1]*dpi) ], np.float32)
|
|
|
+ a = [ (0, 0), (0, board_size[1]*dpi), (board_size[0]*dpi, 0), (board_size[0]*dpi, board_size[1]*dpi) ]
|
|
|
+ dest = np.array(a, np.float32)
|
|
|
print(corner_point_list)
|
|
|
|
|
|
trans = cv2.getPerspectiveTransform(src, dest)
|
|
@@ -127,9 +119,6 @@ def get_transform_matrix(dev, board_size, dpi, calib_file = None):
|
|
|
else:
|
|
|
return None
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
if __name__ == "__main__":
|
|
|
parser = argparse.ArgumentParser()
|
|
|
cam_id = 1
|
|
@@ -150,8 +139,10 @@ if __name__ == "__main__":
|
|
|
|
|
|
|
|
|
|
|
|
- board_size = [215, 185]
|
|
|
+ board_size = [185, 215]
|
|
|
point = []
|
|
|
+ if camera:
|
|
|
+ board_size = [board_size[1], board_size[0]]
|
|
|
|
|
|
|
|
|
|
|
@@ -173,13 +164,12 @@ if __name__ == "__main__":
|
|
|
if camera:
|
|
|
img_orig = get_frame(dev)
|
|
|
else:
|
|
|
- time.sleep(0.5)
|
|
|
+ time.sleep(0.1)
|
|
|
|
|
|
start = time.time()
|
|
|
if img_orig is not None:
|
|
|
img = img_orig
|
|
|
if camera:
|
|
|
-
|
|
|
img = cv2.warpPerspective(img_orig, transform, dsize=transform_size)
|
|
|
e1 = cv2.getTickCount()
|
|
|
|
|
@@ -210,7 +200,8 @@ if __name__ == "__main__":
|
|
|
seconds = end - start
|
|
|
fps = 1.0 / seconds
|
|
|
start = time.time()
|
|
|
- cv2.putText(img, str(fps), (0,60), cv2.FONT_HERSHEY_SIMPLEX, 1.0, (0, 0, 255))
|
|
|
+ if camera:
|
|
|
+ cv2.putText(img, str(fps), (0,60), cv2.FONT_HERSHEY_SIMPLEX, 1.0, (0, 0, 255))
|
|
|
res = img
|
|
|
cv2.imshow("warped", res)
|
|
|
|