Some mobile phones support changing the depth of field using depth information calculated from dual cameras. If the depth information is stored in the jpg file, how can it be extracted?
I am the author of Photopea.com - in-browser photo editor.
Photopea supports depth-maps. Open your JPG in Photopea. A depth-map (and the original sharp image) will be added as two extra layers. You can save them separately as JPG, PNG, etc.
Just wanted to let you know, that you can do it without downloading or installing anything, or using a command line :)
UPDATE: There is a lens blur filter (Filter - Blur - Lens Blur), where you can produce a bokeh effect based on a depth map.
Portrait Mode images saved by Google Camera contain the original image and depth map in the metadata. They can be extracted with
exiftool -b -ImageData image.jpg > image.gimage.jpg exiftool -b -Data image.jpg > image.gdepth.jpg
Google Cardboard panoramas contain audio and 3d image data.
exiftool -trailer:all= image.jpg -o image.1.jpg exiftool -b -ImageData image.jpg > image.2.jpg exiftool -b -AudioData image.jpg > image.audio.mp4
For dual camera Android phones, the exact command required depends on which tags a specific phone or app uses to store extra images. To find the name of the tags, use:
exiftool image.jpg | grep -i binary
For example, the original images stored by the Samsung S9+ can be extracted with the following commands:
exiftool -trailer:all= image.jpg -o image.1.jpg exiftool -b -EmbeddedImage image.jpg > image.2.jpg
I have to make a ported application called ExifTool on Android. You can easily download it and try to extract the depth information or export the binary file from a photo.
Link download: Exif Tool on Android
How to use: