Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Is there a better approach to stitch images if they are lineairly spaced

My goal is to 'scan' an object. To achieve this I hacked into my 3Dprinter and made a certain automation so that the printhead moves to grid positions who are lineairly spaced in the x and y position. The z position is a fixed height. My smartphone is attached to the printhead and takes a picture at each position.

All is achieved throughout python and after capturing the images I would like to stitch them to one picture in order to counteract distortion in the x- and y-axis.

The 5x5 pictures and the outputimage after stitching can be found here: https://drive.google.com/drive/folders/11vcI20wij78aqXkASi3NrYsE9VNdrkA4?usp=sharing

At the moment I tried to use OpenCV's stitch method as so:

stitcher = cv2.Stitcher_create(mode = 1) (status, stitched) = stitcher.stitch(images)

But the result is not so good. And if I use panorama mode it uses a lot time.

I was wondering if there would be a better perhaps simpeler way to stitch these images. Because the opencv stitcher class tries to find features in order to find overlaps in the pictures but maybe this isn't necessary in my case because of the info I got extra: I know that the pictures are spaced lineairly and I know the amount of spacing. Any suggestions?

Is there a better approach to stitch images if they are lineairly spaced

My goal is to 'scan' an object. To achieve this I hacked into my 3Dprinter and made a certain automation so that the printhead moves to grid positions who are lineairly spaced in the x and y position. The z position is a fixed height. My smartphone is attached to the printhead and takes a picture at each position.

All is achieved throughout python and after capturing the images I would like to stitch them to one picture in order to counteract distortion in the x- and y-axis.

The 5x5 pictures and the outputimage after stitching can be found here: https://drive.google.com/drive/folders/11vcI20wij78aqXkASi3NrYsE9VNdrkA4?usp=sharing

first row of images: C:\fakepath\000.jpg C:\fakepath\001.jpg C:\fakepath\002.jpg C:\fakepath\003.jpg C:\fakepath\004.jpg

At the moment I tried to use OpenCV's stitch method as so:

stitcher = cv2.Stitcher_create(mode = 1) (status, stitched) = stitcher.stitch(images)

But the result is not so good. And if I use panorama mode it uses a lot time.

I was wondering if there would be a better perhaps simpeler way to stitch these images. Because the opencv stitcher class tries to find features in order to find overlaps in the pictures but maybe this isn't necessary in my case because of the info I got extra: I know that the pictures are spaced lineairly and I know the amount of spacing. Any suggestions?

Is there a better approach to stitch images if they are lineairly spaced

My goal is to 'scan' an object. To achieve this I hacked into my 3Dprinter and made a certain automation so that the printhead moves to grid positions who are lineairly spaced in the x and y position. The z position is a fixed height. My smartphone is attached to the printhead and takes a picture at each position.

All is achieved throughout python and after capturing the images I would like to stitch them to one picture in order to counteract distortion in the x- and y-axis.

The 5x5 pictures and the outputimage after stitching can be found here: https://drive.google.com/drive/folders/11vcI20wij78aqXkASi3NrYsE9VNdrkA4?usp=sharing

first row of images: C:\fakepath\000.jpg C:\fakepath\001.jpg C:\fakepath\002.jpg C:\fakepath\003.jpg C:\fakepath\004.jpgimages:

image description image description image description image description image description

final result:

image description

At the moment I tried to use OpenCV's stitch method as so:

stitcher = cv2.Stitcher_create(mode = 1) 1)

(status, stitched) = stitcher.stitch(images)

But the result is not so good. And if I use panorama mode it uses a lot time.

I was wondering if there would be a better perhaps simpeler way to stitch these images. Because the opencv stitcher class tries to find features in order to find overlaps in the pictures but maybe this isn't necessary in my case because of the info I got extra: I know that the pictures are spaced lineairly and I know the amount of spacing. Any suggestions?

Is there a better approach to stitch images if they are lineairly spaced

My goal is to 'scan' an object. To achieve this I hacked into my 3Dprinter and made a certain automation so that the printhead moves to grid positions who are lineairly spaced in the x and y position. The z position is a fixed height. My smartphone is attached to the printhead and takes a picture at each position.

All is achieved throughout python and after capturing the images I would like to stitch them to one picture in order to counteract distortion in the x- and y-axis.

The pictures of a 5x5 pictures grid scan and the outputimage after stitching can be found here: https://drive.google.com/drive/folders/11vcI20wij78aqXkASi3NrYsE9VNdrkA4?usp=sharing

first row of images:

image description image description image description image description image description

final result:

image description

At the moment I tried to use OpenCV's stitch method as so:

stitcher = cv2.Stitcher_create(mode = 1)

(status, stitched) = stitcher.stitch(images)

But the result is not so good.

I was wondering if there would be a better perhaps simpeler way to stitch these images. Because the opencv stitcher class tries to find features in order to find overlaps in the pictures but maybe this isn't necessary in my case because of the info I got extra: I know that the pictures are spaced lineairly and I know the amount of spacing. Any suggestions?

Is there a better approach to stitch images if they are lineairly spaced

My goal is to 'scan' an object. To achieve this I hacked into my 3Dprinter and made a certain automation so that the printhead moves to grid positions who are lineairly spaced in the x and y position. The z position is a fixed height. My smartphone is attached to the printhead and takes a picture at each position.

All is achieved throughout python and after capturing the images I would like to stitch them to one picture in order to counteract distortion in the x- and y-axis.

The pictures of a 5x5 grid scan and the outputimage after stitching can be found here: https://drive.google.com/drive/folders/11vcI20wij78aqXkASi3NrYsE9VNdrkA4?usp=sharing

first row of images:

image description image description image description image description image description

final result:

image description

At the moment I tried to use OpenCV's stitch method as so:

stitcher = cv2.Stitcher_create(mode = 1)

(status, stitched) = stitcher.stitch(images)

But the result is not so good.

I was wondering if there would be a better perhaps simpeler way to stitch these images. Because the opencv stitcher class tries to find features in order to find overlaps in the pictures but maybe this isn't necessary in my case because of the info I got extra: I know that the pictures are spaced lineairly linearly and I know the amount of spacing. Any suggestions?

Is there a better approach to stitch images if they are lineairly spaced

My goal is to 'scan' an object. To achieve this I hacked into my 3Dprinter and made a certain automation so that the printhead moves to grid positions who are lineairly spaced in the x and y position. The z position is a fixed height. My smartphone is attached to the printhead and takes a picture at each position.

All is achieved throughout python and after capturing the images I would like to stitch them to one picture in order to counteract distortion in the x- and y-axis.

The pictures of I defined a 5x5 grid scan and the outputimage after stitching can be found here: https://drive.google.com/drive/folders/11vcI20wij78aqXkASi3NrYsE9VNdrkA4?usp=sharing

grid. So there were 25 coordinates where my printer would move to and take a picture.
first row of images:

image description image description image description image description image description

final result:

image description

At the moment I tried to use OpenCV's stitch method as so:

stitcher = cv2.Stitcher_create(mode = 1)

(status, stitched) = stitcher.stitch(images)

But the result is not so good.

I was wondering if there would be a better perhaps simpeler way to stitch these images. Because the opencv stitcher class tries to find features in order to find overlaps in the pictures but maybe this isn't necessary in my case because of the info I got extra: I know that the pictures are spaced linearly and I know the amount of spacing. Any suggestions?

Is there a better approach to stitch images if they are lineairly spaced

My goal is to 'scan' an object. To achieve this I hacked into my 3Dprinter and made a certain automation so that the printhead moves to grid positions who are lineairly spaced in the x and y position. The z position is a fixed height. My smartphone is attached to the printhead and takes a picture at each position.

All is achieved throughout python and after capturing the images I would like to stitch them to one picture in order to counteract distortion in the x- and y-axis.

I defined a 5x5 grid. So there were 25 coordinates where my printer would move to and take a picture.
first row of images:

image description image description image description image description image description

final result:

image description

At the moment I tried to use OpenCV's stitch method as so:

stitcher = cv2.Stitcher_create(mode = 1)

(status, stitched) = stitcher.stitch(images)

But the result is not so good.

I was wondering if there would be a better perhaps simpeler way to stitch these images. Because the opencv stitcher class tries to find features in order to find overlaps in the pictures but maybe this isn't necessary in my case because of the info I got extra: I know that the pictures are spaced linearly and I know the amount of spacing. Any suggestions?