# How do I register or stitch multiple sub-images together into a larger image using unique fiducial features with rigid transformation?

조회 수: 38 (최근 30일)
gwoo 2023년 1월 13일
댓글: Cris LaPierre 2023년 1월 14일
I have 5 sub images that are unique. Each image contains at least 2 unique fiducial features that are only shared by a pair of images.
I would like to stitch/register the 4 satellite images onto the center image.
I have tried using the Image Processing/ Computer Vision tools, functions, and even panorama stitching walk through and the results fail every time. It doesn't fit the features together well at all. Incorrect identifications or mapping.
How can I combine these images, using only translation and rotation, to create a larger single image with solid alignment?
Example of attached images:
Example of attached desired result (made in photoshop):

댓글을 달려면 로그인하십시오.

### 답변 (3개)

Image Analyst 2023년 1월 13일
##### 댓글 수: 0이전 댓글 -2개 표시이전 댓글 -2개 숨기기

댓글을 달려면 로그인하십시오.

William Rose 2023년 1월 13일
Use xcorr2(). See the example here:
Determine the best alignment of image 1 and image 2 with xcorr2(). Make a bigger image, let's call it u12, consisting of the union of images 1 and 2. Then do the cross correlation of u12 with image3, to determine their best alignment. Use this information to make u123. Continue this process with image 4 and image 5. As your union image gets larger, xcorr2() will take longer and use even more memory.
Good luck!
##### 댓글 수: 2없음 표시없음 숨기기
gwoo 2023년 1월 13일
Thank you, I'll try that out. Reading through it, it looks like it only correlates in X,Y and not in rotation... is that true or am I missing something. I think the correlation approach is right now that I think about it but I need it to consider X,Y, and rotation (rigid body).
William Rose 2023년 1월 13일
You are right that xcorr2() will only help find a translation, and will not help with rotations. Your question implies that the image scales are the same in all the images (because you did not ask about scal e adjustments) and that you don't have to worry about projection issues of 3D world onto 2D image plane.
If you can identify the same 3 world points in two images (which will have different coordinates in each image) then you can determine the translation and rotation that will make the world points coincide. Even doing "just that" is not totally trivial.
Sounds interesting but hard. Good luck!

댓글을 달려면 로그인하십시오.

Cris LaPierre 2023년 1월 13일
편집: Cris LaPierre 2023년 1월 13일
You would probably be intersted in the Computer Vision for Engineering and Science Specialization from MathWorks on Coursera. You can enroll for free, and the first course covers aligning and stitching images together.
Just keep in mind that image registration does not 'see' shapes and objects. Instead, it sees corners and edges. It will likely take some trial and error, as well as some educating yourself on the strengths of the different algorithms. You'll find examples with working code in the course I linked to that can serve as great starting points.
##### 댓글 수: 5이전 댓글 3개 표시이전 댓글 3개 숨기기
William Rose 2023년 1월 13일
Thanks, @Cris LaPierre, for suggesting the registration Estimator app! It is very impressive!
@gwoo, You can specify the transformation to use in the drop down box on the right side of the app. I recommend you specify the simplest transformation that will do what you want. This should increase the chance of a good result*, and it should run faster. If you only need to translate and rotate, then specify transformation type "rigid".
*Assuming that the transformation you specify is in fact able to bring the images into alignment.
Cris LaPierre 2023년 1월 14일
If you are open to a more manual approach, you might be interested in cpselect, which allows you to manually select control points between 2 images.

댓글을 달려면 로그인하십시오.

### 카테고리

Help CenterFile Exchange에서 Computer Vision with Simulink에 대해 자세히 알아보기

R2022b

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by