Raw pictures with a GoPro Camera
There is a hack to shoot pictures in .raw encoding using GoPro HERO3 Black camera.
In order the hack to work, the camera will take a picture 5 seconds after you turn the camera on and it will render a .raw that will take the camera around 14 seconds, it will stop rendering the .raw picture when it takes another photo. Then it turns off. See the list below for better understanding:
- You turn the camera on
- The GoPro waits 5 seconds
- The GoPro takes a picture (2 beeps)
- The GoPro waits ~14 seconds (you will hear a beep,
the camera will take a picture when it finishes rendering the other image. The picture taken after the rendering of the first picture will NOT be in raw)
- Then you can turn the camera off 5 seconds after the second picture is taken (the dummy one).
So the camera acts as in One button mode.
The GoPro will generate these files:
- A .JPG image
- A .RAW image (the file is large, ~20MBs)
- A .txt text with information about the raw image such as tone curve, gray something, blah blah blah used to generate a coherent raw image (the .RAW image on its own is dicoloured)
- And... It also generates .bin, .Y, .BIN and .UV files, listed below (the picture file id was GOPR2853 in my case:
- GOPR2853.UV (~12MB)
- GOPR2853.Y (~12MB)
- GOPR2853_cawarp_h.bin
- GOPR2853_cawarp_v.bin
- GOPR2853_cc_3d.bin
- GOPR2853_cc_reg.bin
- GOPR2853_dump0.BIN
- GOPR2853_map_path.bin
- GOPR2853_post0.BIN
- GOPR2853_sec_cc.bin
- GOPR2853_vignette_gain.bin
Reddit
This hack has been researched and corrected by users in reddit. If you want to join the conversation, just drop your comment.
Demo
Download the RAW image here
Download the JPG without text post processing image here
Download the txt information here
Download the .bin, .Y and .UV files: here
Download a zip file containing 3 pictures (1 picture is files .RAW, .JPG, .Y, .UV, .BIN, .bin): here
Download
Download the hack here: autoexec.ash
Here are instructions on how to install the hack on your GoPro camera: instructions
Handling the raw pictures
If you are on linux, install UFRAW, an easy way is sudo apt-get install ufraw
then open a shell and $ ufraw
Click on the screenshot for full screen image:
You can use also Shotwell from Ubuntu.
What about .Y file + .UV file = YUV!?
The GoPro generates certain files when taking a raw picture, listed below the table. The interesting files are the .RAW, the .Y, the .UV and the .txt information
So, lets see this in action: The GoPro takes a picture, it generates GOPR2853.JPG, GOPR2853.txt, GOPR2853.RAW (24MB), GOPR2853.UV (12MB), GOPR2853.Y (12MB)
So, GOPR2853.UV (12MB) + GOPR2853.Y (12MB) = GOPR2853.RAW (24MB)!
First of all, what is YUV? (GOPR2853.UV 12MB + GOPR2853.Y 12MB)
YUV is a color space typically used as part of a color image pipeline.
the .RAW file is a "neutral" file (I mean, no container such as .DNG and .CR2) so its a bit useless because the only program that can edit the picture is UFRAW or Shotwell. The .RAW is the sum of the .Y file and the .UV file.
GoPro's Ambarella Shell command t app yuv2jpg seems to assemble the two 12MB files into a jpg.
Video