This repository hosts some small utilities I wrote while looking into the way modern phones store depth data inside their JPEGs.
This are the color image and depth map from a photo taken with a Samsung S9+.
The most useful tool is extract_depthmap.c
which was tested to work with these phones:
- Apple iPhone X
- Apple iPhone XR
- Apple iPhone XS
- Huawei Mate 20
- Huawei Mate 20 Lite
- Huawei Mate 20 Pro
- Huawei P20 Pro
- Huawei P30 Pro
- Samsung A7
- Samsung A9
- Samsung S9+
- Samsung S10
- Samsung S10e
- Samsung S20 FE
- Samsung S20 Ultra
However, the firmware version might be more important than the actual phone.
In order to use it you have to compile it:
gcc -o extract_depthmap extract_depthmap.c
and then run it:
./extract_depthmap /path/to/file.jpg
It will create some files in the current directory:
cv.jpg
-- the color imagedm.pgm
ordm.jpg
-- the depth mapextra.jpg
-- some iPhones store an additional mask. If this file is garbage you should just ignore it.
Feel free to contact me if you have a phone that stores depth data and want it supported.