This project implements a frame interpolation system using ESP32-CAM and Python-based computer vision. The system consists of two main components:
- RTOS-based ESP32-CAM implementation (rtos_edf/)
- Python-based Computer Vision processing (py_cv/)
os_frame_interpolation/
├── py_cv/ # Python Computer Vision components
│ ├── serial_cam.py # Serial camera interface
│ ├── yuv_2.py # YUV processing
│ └── yuv422_reader.py # YUV422 format reader
│
└── rtos_edf/ # ESP32-CAM RTOS implementation
├── src/ # Source code
│ ├── cam_tasks.cpp
│ ├── cam_tasks.h
│ ├── camera_pins.h
│ ├── main.cpp
│ └── task_config.h
└── platformio.ini # PlatformIO configuration
- AI-Thinker ESP32-CAM board
- USB-TTL converter for programming
- Python 3.x
- PlatformIO
- Required Python packages (OpenCV, etc.)
- Install PlatformIO in your development environment
- Navigate to the
rtos_edfdirectory - Build and upload the project:
pio run -t upload
- Navigate to the
py_cvdirectory - Install required Python packages:
python get-pip.py pip install -r requirements.txt
- Connect the ESP32-CAM to your computer
- Run the Python script for frame processing:
python serial_cam.py
- Real-time frame capture using ESP32-CAM
- EDF (Earliest Deadline First) scheduling for RTOS tasks
- JPEG format processing
- Frame interpolation using computer vision techniques
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Rohit L
- Guhan Balaji
- Pranav Jois