https://github.com/agarnung/image-deblurring-exploration
An attempt to make my mobile phone's camera work
https://github.com/agarnung/image-deblurring-exploration
deblurring deconvolution image-processing investigation
Last synced: 6 months ago
JSON representation
An attempt to make my mobile phone's camera work
- Host: GitHub
- URL: https://github.com/agarnung/image-deblurring-exploration
- Owner: agarnung
- Created: 2025-01-16T21:36:06.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-03-23T12:35:52.000Z (7 months ago)
- Last Synced: 2025-03-23T13:33:22.608Z (7 months ago)
- Topics: deblurring, deconvolution, image-processing, investigation
- Language: Jupyter Notebook
- Homepage:
- Size: 29.5 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# image-deblurring-exploration
An attempt to make my mobile phone's camera work. Inspired by practical uses of deblurring/deconvolution techniques.The exploration is documented in the notebook.
My mobile phone camera is broken (i.e. ```📉 : (📷 ⊂ 📱) → ⛓️💥```); the lens is shattered (photo attached below). In this repository, I investigate how to work around this problem using variational techniques in image processing to restore photos taken with the damaged camera.
,
Currently, these are my type of photos:
...
...How do I improve them?
## Project Description
The main goal of this project is to investigate and apply deblurring/deconvolution methods to improve photos taken with a mobile camera that has suffered physical damage, specifically to the lens. The images captured by this camera are blurry due to the damage, and traditional focus correction methods cannot be used due to the lack of precise information about the Point Spread Function (PSF). To address this issue, we explore deblurring techniques, both with known PSF (non-blind deblurring) and without it (blind deblurring), using variational techniques and numerical methods.
## Objective
The goal is to automatically and effectively restore images through deconvolution techniques. This involves:
- **Recovering the PSF (Point Spread Function)** using deblurring methods.
- **Performing the deconvolution** of the damaged images to produce clearer and sharper photos.
- **Evaluating the quality of the restored images** by comparing them with a reference image taken with a working camera.## Project overview
* The folder notebook contains the main investigation.
* The folder code contain the code utilized.## Troubleshooting
Installing heavy Python libraries like torch or torchvision, one can run out of space in /tmp. The workaround is to specify your own temporary directory:
```bash
pip._vendor.urllib3.exceptions.ProtocolError: ("Connection broken: OSError(28, 'No space left on device')", OSError(28, 'No space left on device'))
(venv_datos) alejandro@pop-os:/media/alejandro/DATOS/venv_DATOS/src/dwdn$ TMPDIR=/media/alejandro/DATOS/pip_cache pip install torch torchvision
```## TODO
* Proper use of the Markdown rendering on GitHub; e.g. why LaTeX. HTML tables... seem to fail.
* Train model with data augmentation