diff --git a/config/compound_eye.png b/config/compound_eye.png index cf07b80..ef3b17b 100644 Binary files a/config/compound_eye.png and b/config/compound_eye.png differ diff --git a/example1_basic.py b/example1_basic.py index 5cc1533..451b575 100644 --- a/example1_basic.py +++ b/example1_basic.py @@ -8,10 +8,17 @@ import numpy as np def main(): global start_time + box = [] + dx = 90 + dy = -95 + for i in range(15): + box.append((410+dx, 900+dy, 620+dx, 1110+dy)) # 打开视频 - sensor1 = Sensor("./s1.mp4",isstitch=True,cuda = True,verbose = True) + sensor1 = Sensor("./uv_2.mp4",isstitch=False,cuda = True,verbose = True, override=True, box=box) # 打开摄像头 # sensor1 = Sensor(0,isstitch=True,cuda = True,verbose = True) + + while True: sensor1.get_img() # 提取并拼接复眼图像 sensor1.compute_deformation() # 计算形变和分解 diff --git a/src/orisys/Stitcher.py b/src/orisys/Stitcher.py index 241c8e9..f1fce1d 100644 --- a/src/orisys/Stitcher.py +++ b/src/orisys/Stitcher.py @@ -473,7 +473,7 @@ class Stitcher: n_boxes = len(boxes) bk_thresh += bk_thresh_step - # print("Detected {} candidate boxes with bk_thresh={}".format(n_boxes, bk_thresh - bk_thresh_step)) + print("Detected {} candidate boxes with bk_thresh={}".format(n_boxes, bk_thresh - bk_thresh_step)) if n_boxes == 0: self.boxes = [] return n_boxes diff --git a/src/orisys/sensor.py b/src/orisys/sensor.py index feb2ce5..8ba0c18 100644 --- a/src/orisys/sensor.py +++ b/src/orisys/sensor.py @@ -19,7 +19,7 @@ class Sensor: Sensor helper that can decompose optical flow via Fourier methods. Stores the decomposed components and global norms as attributes after compute(). """ - def __init__(self, vid_src, isstitch=False, verbose=True, cuda=True): + def __init__(self, vid_src, isstitch=False, verbose=True, cuda=True, override=False, box=None): """ Initialize Sensor with video source and configuration. @@ -70,13 +70,22 @@ class Sensor: if self.verbose: print("Video source connected.") - # Initialize and calibrate - self.__find_stitch_boxes(frame, show=False) - self.__get_tiles(frame) - self.stitch_cal() + if override: + if box is not None: + self.__stitcher.boxes = box + else: + print("Override is True but no box provided.") + else: + # Initialize and calibrate + self.__find_stitch_boxes(frame, show=False) + self.__get_tiles(frame) + self.stitch_cal() if self.verbose: print("Sensor initialized and calibrated.") + + + # Initialize state variables self.stitch_valid = False self.n_boxes = None