Multicam Bracketing - General Help and Assistance on using CHDK stable releases - CHDK Forum

Multicam Bracketing

  • 6 Replies
  • 348 Views
Multicam Bracketing
« on: 22 / February / 2020, 12:19:20 »
Advertisements
Hello! I've been experimenting with the multicam script over the past week and have a pretty decent working setup (shoot with 24 cams, then download all photos to the connected PC).

I was wondering, though, if there was a way to make the cameras take 3 photos (at normal exposure, +1, and -1) in quick succession (ie. bracketing, so I can create an HDR w/ more dynamic range than the standard jpg or even RAW).

I know using mc:shoot and mc:testshots I can define specific aperture, ISO, and shutter speed parameters, but I was hoping to use the exposure from each camera to set these variables automatically (as each camera may require slightly different settings).

Any help would be appreciated!

*

Offline reyalp

  • ******
  • 12431
Re: Multicam Bracketing
« Reply #1 on: 22 / February / 2020, 21:32:23 »
I was wondering, though, if there was a way to make the cameras take 3 photos (at normal exposure, +1, and -1) in quick succession (ie. bracketing, so I can create an HDR w/ more dynamic range than the standard jpg or even RAW).
This isn't directly supported in multicam. However, you could use normal CHDK bracketing with set_config_value, something like this:

Code: [Select]
!mc:cmdwait('call local cnf_core=require"gen/cnf_core" set_config_value(cnf_core.bracket_type,3) set_config_value(cnf_core.tv_bracket_value,3)')
!mc:shoot({cont=true, shots=3})
Breaking this down:
cnf_core=require... loads friendly names for the set_config_value parameters.
set_config_value(cnf_core.bracket_type,3) sets the bracket type to +/-
set_config_value(cnf_core.tv_bracket_value,3) sets the bracket value to 1 stop.
!mc:shoot({cont=true, shots=3}) shoots a burst of 3 shoots, in continuous mode if it's enabled in the canon UI. You'll need to enable continuous mode on each camera in the Canon UI or with the UI property functions.

You can find the available parameter names by loocking at CHDK/LUALIB/GEN/cnf_core.lua

To know what the values are, you can change them on one camera using the CHDK menu and read back the values with get_config_value.

I'll look into adding bracketing as a multicam feature, it's been on my list of useful things to add for a while.

Quote
I know using mc:shoot and mc:testshots I can define specific aperture, ISO, and shutter speed parameters, but I was hoping to use the exposure from each camera to set these variables automatically (as each camera may require slightly different settings).
Note that you can set camera specific values with the latest multicam. See here https://chdk.setepontos.com/index.php?topic=13917.msg141971#msg141971

So you could half press, read all the exposure values from each camera, and then bracket by modifying them between shots. I can provide more detailed examples if you want to use this approach.
Don't forget what the H stands for.

Re: Multicam Bracketing
« Reply #2 on: 24 / February / 2020, 09:41:40 »
Beautiful, thank you! Delivered just what I was looking for. I'll need to do a few experiments as to whether this technique is better than saving a single .raw file for photogrammetry.

My subject will be fairly well-lit but as I'm using compact cameras I want to squeeze as much value as I can from them!

*

Offline reyalp

  • ******
  • 12431
Re: Multicam Bracketing
« Reply #3 on: 24 / February / 2020, 12:31:18 »
Beautiful, thank you! Delivered just what I was looking for. I'll need to do a few experiments as to whether this technique is better than saving a single .raw file for photogrammetry.

My subject will be fairly well-lit but as I'm using compact cameras I want to squeeze as much value as I can from them!
If your goal is to improve SNR, you might find that the average or median of several shots at the same exposure gives good results.
This will work best if you start from raw and do the processing in raw or high bit depth RGB, but can work pretty well with jpeg too.

Example: https://chdk.setepontos.com/index.php?topic=12695.msg137082#msg137082
Don't forget what the H stands for.


Re: Multicam Bracketing
« Reply #4 on: 26 / February / 2020, 10:26:01 »
Sweet. I'll be giving a few different versions a try - bracketing, RAW shooting, and the stacking you mentioned.

I was wondering how I can set recording RAW on and off from a script file for all the cameras though? I just wasn't sure of the exact syntax, but I think I've found the right commands?

Quote
!mc:cmdwait('call local cnf_core=require"gen/cnf_core" set_config_value(cnf_core.save_raw,1) set_config_value(cnf_core.dng_raw,1)')

I'd set the badpixel.bin manually on each camera, but it'd be good to be able to swap between normal jpeg shooting and RAW depending on what I'm photographing.

*

Offline reyalp

  • ******
  • 12431
Re: Multicam Bracketing
« Reply #5 on: 26 / February / 2020, 12:37:06 »
I was wondering how I can set recording RAW on and off from a script file for all the cameras though? I just wasn't sure of the exact syntax, but I think I've found the right commands?

Quote
!mc:cmdwait('call local cnf_core=require"gen/cnf_core" set_config_value(cnf_core.save_raw,1) set_config_value(cnf_core.dng_raw,1)')
Without testing, that looks like it should work to me.

FWIW, you can use DNG 1.3 if you don't want to mess with badpixel on each camera. If your raw processing program doesn't handle DNG 1.3 badpixel opcodes, you can use chdkptp DNG commands https://app.assembla.com/spaces/chdkptp/wiki/DNG_Processing
Don't forget what the H stands for.

Re: Multicam Bracketing
« Reply #6 on: 26 / February / 2020, 19:52:46 »
Great, I'll give it a try tomorrow.  :D :D

 

Related Topics