← all work classical-computer-vision

Dehazing

[![Python 3.10+](https://img.shields.io/badge/python-3.10+-3776AB?logo=python&logoColor=white)](https://www.python.org/)

Result

SrSceneHazy inputDark channel prior**DCP + guided refine**CLAHE (contrast only)Multi-scale RetinexGamma curve (control)Oracle
1whitewater raft · people, spray, close rock11.5 dB22.1 dB**23.1 dB**13.4 dB8.8 dB16.0 dB50.7 dB
2old street · receding to a vanishing point12.7 dB21.8 dB**23.9 dB**16.5 dB13.2 dB17.1 dB50.8 dB
3tropical island · sky-dominant13.2 dB22.7 dB**23.6 dB**13.7 dB8.6 dB18.8 dB50.7 dB
4motocross · near subject, shallow depth10.8 dB20.5 dB**21.2 dB**12.8 dB9.1 dB15.1 dB50.7 dB

The finding

What it does

`mermaid flowchart LR A[Clear image
known exactly] --> B["Add haze
I = J·t + A·(1−t)"] B --> C[5 dehazing methods] B --> D[Oracle
handed the TRUE transmission] C --> E[Score vs the original
AND vs the true transmission map] D --> E E --> F[Did it remove haze,
or just add contrast?] `

Because the haze is generated, two things are known, not one:

That second row is what separates this from a contrast comparison. "Looks clearer" is satisfied by any histogram stretch; recovering t is only satisfied by actually inverting the scattering.

---

Elsewhere

Code and full results on GitHub (code private)

Every number is read from the file the run produced. github.com/hammasbuilds · kaggle.com/muhammadhammas13