Image Super Resolution (ISR) is a way to improve quality of low resolution images and upscale it. This project utilizes that and enables it to be used for videos.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
The project was developed using Python 3.6. The aim of this is to scale up a video and increase the quality of it. Using Image Super Resolution, each frame is scaled up. The various deep learning methods allow for quality to improve even though the video is scaled up. You can learn more about ISR here.
Currently this has only been tested on mp4
videos.
Original | Video Super Resolution |
---|---|
![]() |
![]() |
Follow the steps to get started
- ffmpeg
- Mac:
-
brew install ffmpeg
-
- Linux:
-
sudo apt install ffmpeg
-
- Mac:
Python 3.6 might be required. Take a look at pyenv for managing multiple Python versions. *Python 3.7.9-amd64 (32 bit python version will not work) was tested and found to work. Newer versions of python (>3.10) cannot install the required version of tensorflow.
Binary: Install the V0 release from the releases section on the github side panel.
Source code:
- Clone the repo
git clone https://github.com/viraatdas/video-super-resolution.git
- Install modules
pip install -r requirements.txt
Example: python enhance.py example_videos/video_short.mp4
Example: python enhance.py example_videos/video_short.mp4 --zoom 3 --remove_noise
(Note: If you installed the binary, use the same commands, but instead of "python enhance.py" use "enhance.exe" then the other arguments.)
positional arguments:
filename Required positional argument
optional arguments:
-h, --help show this help message and exit
--zoom ZOOM Specifies scaling factor of video (default is 2x)
--remove_noise If specified, then will denoise the video
--output_filename OUTPUT_FILENAME
Specify output filename
--version show program's version number and exit
See the open issues for a list of proposed features (and known issues). Feel free to add to it.
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Viraat Das - @therealviraat - viraat.laldas@gmail.com
README template based on othneildrew