Panorama module?

Started by davidcl0nel, September 15, 2014, 08:02:12 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

davidcl0nel

Hi there,

I use ML for years now, and don't want to miss the incredible features, which make the life better and easier. Intervalometer, Dual-Iso, RawVideo and Focus Peaking in Liveview... they are huge enhancements for the main camera.

I am now interested in panorama photography, and I am wondering, if "we" can use two features together, to get Panoramas done more easily. I am thinking (and I can't find a similar request, which gives me some doubts... If it was already posted, sorry) about ghost image function.

The Module has to define some parameters:
- panorama mode (line, multi-row)
- Suboption: line - left to right, right to left
- Suboption multi-row: L->R | R->L,  Up->Down | Down -> Up, Zig zag
- Overlap: 1/4, 1/3, 1/2

I start the panorama, shoot the first frame, and the camera load and display the last image as ghost image with overlap. The easiest example is single-line-panorama left to right, i select 1/3 overlap and I got the right 1/3 part of the last image on the left part of the live view screen as ghost, so I can move the new image selection to the right and take the next shot. And again the last shot is the new ghost.
On multi-row we have to have a new switch for "line feed" also, I notice now. After line-feed the function need to paint 2 ghosts, the first pic after line-feed only the lower (or upper, see option) 1/3 of the first pic, after this pic, it should show the second pic of the first line and the right part of the second line first pic. Hmm, maybe a little bit weird - but it only should help to keep the track of the height and width to get all pics done without thinking to much. ;)
This would help a lot to keep track of the current part of a really huge panorama. I often move a little bit to fast, so the overlap is to tiny for automatic stitch programs, i have to fiddle a bit to make that work.
Hmm, if I select multiple exposure (for HDR), this maybe should track only the first pic of every series.

Is this possible to paint only a part of the whole picture as ghost?

Best regards,
  David.
60D & 5D3

kichetof

Hi davidcl0nel,

I had an idea to made a panorama module to calculate FOV, number of lines/rows and ... I don't know, I've a doubt.

Your idea to display all pictures on the screen, left to right, up to down to "display the final panorama" with ghost images is cool!

But, I think that ML can't display all these informations on the screen. I'll look at the ghost image if I can understand something :D

brapodam

Actually I'm really interested in this too, for doing something like the Brenizer technique

davidcl0nel

No no, not all picture parts at all, I want only the current "neighbours" (left/top neighbour) while shooting - just to make sure, I don't move to far to get in trouble while stitching.

Hmm,, Brenizer correct - maybe we need a mode for this order of the pictures too. I never did that, but I think you shoot the middle picture with the subject first, and then go around. Correct?
60D & 5D3

brapodam

QuoteNo no, not all picture parts at all, I want only the current "neighbours" (left/top neighbour) while shooting - just to make sure, I don't move to far to get in trouble while stitching.

Hmm,, Brenizer correct - maybe we need a mode for this order of the pictures too. I never did that, but I think you shoot the middle picture with the subject first, and then go around. Correct?
Yup. I'm still experimenting with it but it's really hard to do without any "help", because it's very hard to tell which parts you have covered. If you have a gap somewhere in the middle of the end result (near the main subject), then the whole picture is unusable.

Audionut

Rather then panning to far and missing something, I just shoot more images then I need by only panning a little.

davidcl0nel

Yes, maybe. But think about Gigapixel-Panorama. I don't want to make much more pictures than I need... a 10x10 pic panorama is much faster than a 20x20 pic panorama, because I tilted only 1/4 of the width and not 3/4...
60D & 5D3

Audionut

You can use crop marks in live view and AF points through the viewfinder to help gauge.

But a panorama module would be handy.  :)

brapodam

I could think of a kick-ass combination of ML functions for the Brenizer method (or panoramas in general):

-Panorama module as described in this thread
-Full res silent pic to save shutter count  :)
-Intervalometer (with full res silent pic, this stores your pano in a single MLV file, which means you won't have to manually sort through your panoramas)
-Dual ISO if needed

wildstray

I would be really interested in a panorama module, indeed I thought to develope it. I think to run it when in LV + landscape shooting mode and display a cropped and scaled ghost image for 1/2, 1/3 or 1/4 beside to a scaled LV... as like as panorama mode of Powershot series (eg. https://www.youtube.com/watch?v=FCH6e7Z_VCw ). I don't expect to stich pictures in camera or to find and match features with heavy algorithms, only a simple assistant image alignment (especially for free hand shooting). I wish the same of what I use on my G9. In the future it would be thinkable to add other feature such as HDR.
For now, I'm encounter difficulties in setting up an usable development enviroment (running ROM & ML in qemu) so I didn't begin to write the module itself (I draft a skeleton only).

dfort

Sound like an interesting module though I've been shooting handheld HDR panoramas without much difficulty. I use the Photo Merge tools in Lightroom to process them.



Frankfurt train station.

SpcCb

I think it requires to make some geometrical transformations on each images before to be stitch. Maybe it's a bite too heavy for DIGICs (?).
Matthew Brown and David G. Lowe of the University of British Columbia, Canada, wrote a good paper about this (PDF).

An other approach should be to use a lens correction model for each lens (for several focals in case of zoom lens) like PTLens do and 'just' align individual frames before stitching, but I'm not sure that is a better solution.

wildstray

Anybody interested to collaborate in a basic module development? Nothing complicated for now, only a stich assistant. I'm looking for a method to show a resized LV in a rectangle instead of the full screen LV. Something similar to that one shown in the cropmarks settings. The next step would be showing show 1/2 or 1/3 or 1/4 of the last shot picture beside the resized LV.

a1ex

Resizing the LiveView image is pretty hard. You can use the display filter interface (see defishing, anamorphic preview, raw video preview, silent picture preview, experimental focus peaking modes from 6D), but it's pretty rough and the frame rate is low.

Somewhat related: http://www.magiclantern.fm/forum/index.php?topic=4954

Unfortunately, this interface (CONFIG_DISPLAY_FILTERS) is not enabled on EOS M. Fixing it might be anything from fairly easy (tinkering around hoping to find a typo or something similar) to very hard (reimplementing it from scratch).

The reverse engineering problem is finding a way to redirect the LiveView image buffer to some other address.

Alternative solutions:
- magic zoom (tricky)
- draw the LiveView image to the BMP buffer (ugly)