import sys from pathlib import Path import cv2 from bookmark.camera import CameraSource def main() -> None: device_index = int(sys.argv[1]) if len(sys.argv) > 1 else 0 output_path = Path(sys.argv[2]) if len(sys.argv) > 2 else Path("reference.jpg") camera = CameraSource(device_index=device_index) camera.open() print("Clear the platform of any book, then press ENTER to capture the reference frame.") input() frame = camera.read_frame() camera.close() cv2.imwrite(str(output_path), frame) print(f"Reference frame saved to {output_path}") print( "Next: open the reference image in an editor to note the pixel coordinates of " "each size-boundary marker and the guide box, then fill them into config.json's " "\"markers\" and \"guide_box\" fields." ) if __name__ == "__main__": main()