Read about Calibration here
Introduction | Features | Experimental Features | Prerequisites | Installation | Usage | Loading Configuration | Starting Calibration or Correction | Screenshots | Video Guide | Development Status | Contributing | License | Acknowledgements
The CalibraVision offers a sophisticated yet user-friendly toolkit for camera calibration and video correction, integrating advanced pattern recognition and calibration techniques to enhance the accuracy and efficiency of the calibration process.
Dynamic Pattern Generation: Support for Charuco and Checker patterns, customizable according to user needs.
Enhanced Calibration Options: Including 'Calibrate Only', 'Self-Calibrate & Correct', 'Correct Only', and 'Single Calib and Multiple Video Correction'.
Real-time display of corrected and uncorrected video streams
Ability to save calibration parameters for future use
Easy-to-use graphical interface with intuitive controls
Option to load custom calibration files
Extensive logging to monitor calibration and correction processes
To be installed using requirements.txt
- Python 3.x
- Tkinter
- OpenCV
- NumPy
- configparser
- Clone the repository:
git clone https://github.com/exponentialR/QUBVidCalib.git
- Navigate to the project directory:
cd QUBVidCalib
- Create a Python environment and install dependencies:
-
On Linux:
python3 -m venv calibra source calibra/bin/activate pip install -r requirements.txt
-
On Windows:
python -m venv calibra .\calibra\Scripts\activate pip install -r requirements.txt
-
On Mac:
python3 -m venv calibra source calibra/bin/activate pip install -r requirements.txt
- Starting the app
cd src python3 main.py
Loading Configuration On application start, the GUI loads existing configurations from settings.ini if available. Users have the option to manually set the following parameters:
- Calibration Type: Chaurco or Checkerboard
- Project Repository: Set the directory for saving project files.
- Project Name: Assign a unique name for the calibration session.
- Video Files: Specify the target videos for calibration or correction.
- Calibration Board Dimensions: Input the dimensions of the used calibration board.
- Frame Interval: Determine the frame capture rate for calibration.
- Number of Frames to Save: Set how many frames are saved during calibration.
- Dictionary Type: if using charuco, Choose the marker dictionary type for pattern detection.
The main window offers three options:
- Calibrate Only: Perform only the calibration step.
- Correct Only: Perform only the correction step.
- Calibrate and Correct: Perform both calibration and correction. Once started, the application provides real-time logging and status updates. The corrected video and calibration parameters can be saved for future use.
An additional feature, "Generate Calibration Pattern," is now available for creating custom calibration patterns. Users can define the pattern type, dimensions, and other parameters for printing, and recommended paper size will be atop the pattern.
- Play/Pause controls for video review (In Development)
- Slider for video navigation (In Development)
- Chessboard Pattern: Integration for Chessboard calibration patterns is now complete and available.
- Pattern Generation: Users can generate custom calibration patterns directly within the application.
Feel free to fork this repository and submit a pull request if you have some features or fixes to contribute. For more information, please read the CONTRIBUTING.md guide.
This project is licensed under the MIT License - see the LICENSE.md file for details.
Enhancements to the embedded Video Player for a richer user experience.