What's the process to manually deghost bracketed photos ?

Skip to first unread message


Aug 4, 2022, 8:53:35 AM8/4/22
to Hugin Google Group
I'd like to deghost moving tree branches in my bracketed panorama.

I tried Khan deghosting but it did a terrible job, producing artifacts all over the place.
I also can't use exclusion masks because the moving branches have too much ovelap between 2 photos in a stack (plus it would create artifacts too).

I figured I could manually rework each part of the stack to make the branches static but since the exposure changes I don't know how to properly copy image information from one part of the stack to the other.

So my question is : is there a reliable process to do this kind of job?

Note : I can work with Gimp, Krita, Blender, Darktable or anything compatible with Linux.


Aug 23, 2022, 5:33:29 AM8/23/22
to hugin and other free panoramic software
You can try lux. If you have a bracket in a PTO, try and invoke lux like this:

lux --deghost=yes my.pto

This uses lux' 'quorate' blending mode, where pixels which are similar on several source images are favoured and outliers are suppressed. For now, lux does not offer an option to do this with all stacks in a stacked panorama, so you'd have to deghost the stacks individually, then stitch the results. It may not be good for tree branches, though, because you need several images to agree, and with moving branches they may all be different. It's more for removing true 'ghosts' like people walking through the set.


Aug 23, 2022, 7:17:47 AM8/23/22
to hugi...@googlegroups.com
Thanks for the tip. What I ended up doing was :

  • export individual panorama stacks at their respective exposure
  • export them after matching the exposure of each stack to the other stack's exposure. This means I ended up with as many panoramas as the number of stacks squared (^2). I did this by right-clicking in the photo list, then selecting "Manipulate image variables" and entering a formula like Eev=val-2 (or +2)
  • in Gimp, import everything and group by exposure level (so each "exposure" group contains all the stacks with matching exposure)
  • mask in the parts I want so that all the tree branches are fixed accross all groups
  • export each exposure group
  • import them in a new Hugin project
  • Export the fused panorama

I noticed some limitations with that technique that might have a solution (not found yet) :
  1. At first I tried manipulating the exposure variable on an imported single panoramic image (previously exported from Hugin) instead of manipulating the original pto with the individual photos but this did not give the same colors. This meant I had to manipulate the exposure on the original pto for exporting the "matched exposure" panoramas. This wouldn't be a problem if blending was deterministic but since it's not, the same stack at different matched exposures was not consistent in the blended parts, since branches move between individual photos.
  2. As you'd expect, matching the exposure doesn't produce an identical result as the exposure you matched. For example the blue sky may be blown out in a high exposure photo, so if you bring it down to match a lower exposure where the sky is blue, you'll end up with a grey sky. This was totally expected. However, I did not expect some other color differences, like the over-saturation of green leaves or the slight difference in contrast in some areas. Not sure if this can be solved, though it wasn't too noticeable in the end result.
Reply all
Reply to author
0 new messages