From: mad m on 26 Apr 2010 16:10 I am required to write a programme that combines two different images of the same picture. Say, a camera is capable of taking pictures within the scope of its viewfinder only. So it means that it cannot take a large picture or long picture with all the details fitted in one frame. I need to capture several takes with different angles then write a programme to combine it to become a bigger picture. Do you have any suggestion or idea on this? What do you think is the right function? I really need some advice on this please help me outtttttttttt
From: David Young on 26 Apr 2010 16:35 There are various different places to start a project like this. You are likely to need to look up image mosaicing work to find out how people have tackled this in the past - for example look at the autostitch website at http://cvlab.epfl.ch/~brown/autostitch/autostitch.html From a Matlab perspective, you could think about the imtransform function (if you have the Image Processing Toolbox) and work on how you are going to make measurements on the images that will allow you to compute a transform to join them seamlessly. One approach is to find corresponding points in the overlapping parts of the images.
From: ImageAnalyst on 26 Apr 2010 18:46 Probably not what you're looking for but there is a stitch program on the file exchange: http://www.mathworks.com/matlabcentral/fileexchange/25797-stitch however, it merely butps two images up against each other, not with a jagged overlap like you'd need. Just thought I'd mention it...... By the way, the jagged overlapping/stitching capability is already built into Photoshop. So you might want to use that unless you're looking to reinvent the wheel.
From: mad m on 27 Apr 2010 00:45 actually , i want to build panorama mode in matlab.....it is like image mosaic and image registration do u have code or any idea please give me ur mail id
From: Michael on 27 Apr 2010 03:39
Like previous posters said: 1) Search for corresponding points within the overlapping image regions, e.g. using the c2select tool if you want to do it manually or using Foerstner, Harris or SIFT, maybe even in correspondence with cross correlation if you want to do it automatically. 2) Select a proper registration model (usually affine transorm is a good choice for image registration tasks) and determine the transformation parameters between the images using the corresponding points as input. The MATLAB function cp2tform might help you there. 3) Transform one of the images onto the other using imtransform. 4) As the images might be radiometrically different, you then shoudl apply some image processing procedures to the seams between the registered images, so that contrast and brightness are adjusted and equalized. |