Ofir Lavi
CSEP576 – Computer Vision
Panorama 1: My final
360-panorama picture
Panorama 2: My final panorama picture:

To produce less than 360 panorama and not to cat big portion of the picture, I made changes in BlendImages() as describe in the extra credit section.
Panorama 3: hand-held sequence:
Class Test Panoramas:
Stitch 2: Stitch 4:
Panorama 4: Full Panorama Test:
Extra Credit:
I implemented a round() function in BlendImages.cpp. This helps setting the pixels at half points and remove some of the noise.
At panorama-2 a bird got into my picture by mistake. This is a moving object and unique object for this frame only. This is the same as using the scissoring tool.
3. Try shooting a sequence with some objects moving:
At panorama 1 I have a moving car that did not affect or created noise on the picture.
New features
that are not part of the Bells and Whistles:
To create panorama picture that less than 360, I modified BlendImages()code as follows:
·
I updated the final shape size:
From CShape cShape(mShape.width - width,
height, nBands);
To CShape
cShape(mShape.width - blendWidth, height, nBands);
·
I changed my A matrix
360: A[0][0]=1; A[0][1]=0; A[0][2]=width/2;
A[1][0]=a;
A[1][1]=1; A[1][2]=pos_y;
A[2][0]=0;
A[2][1]=0; A[2][2]=1;
<360: A[0][0]=1; A[0][1]=0; A[0][2]= blendWidth/2;
A[1][0]=a;
A[1][1]=1; A[1][2]=pos_y;
A[2][0]=0; A[2][1]=0; A[2][2]=1;