Skip to content

Commit 03a7c79

Browse files
committed
fix camera selector issue
1 parent 63dbd32 commit 03a7c79

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

afy/camera_selector.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,9 @@ def query_cameras(n_cams):
3838

3939
def make_grid(images, cell_size=(320, 240), cols=2):
4040
w0, h0 = cell_size
41-
grid = np.zeros((h0 * max(1, (len(images) // cols)), w0 * min(len(images), cols), 3), dtype=np.uint8)
41+
_rows = len(images) // cols + int(len(images) % cols)
42+
_cols = min(len(images), cols)
43+
grid = np.zeros((h0 * _rows, w0 * _cols, 3), dtype=np.uint8)
4244
for i, (camid, img) in enumerate(images.items()):
4345
img = cv2.resize(img, (w0, h0))
4446
# add rect
@@ -58,7 +60,8 @@ def mouse_callback(event, x, y, flags, userdata):
5860
c = x // cell_size[0]
5961
r = y // cell_size[1]
6062
camid = r * grid_cols + c
61-
g_selected_cam = camid
63+
if camid < len(cam_frames):
64+
g_selected_cam = camid
6265

6366

6467
def select_camera(cam_frames, window="cameras"):
@@ -81,7 +84,10 @@ def select_camera(cam_frames, window="cameras"):
8184

8285
cv2.destroyAllWindows()
8386

84-
return list(cam_frames)[g_selected_cam]
87+
if g_selected_cam is not None:
88+
return list(cam_frames)[g_selected_cam]
89+
else:
90+
return list(cam_frames)[0]
8591

8692

8793
if __name__ == '__main__':

0 commit comments

Comments
 (0)