How do I stitch multiple images in a spiral order
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi I am trying to stitch images in a spiral order starting from the center moving outward.
I have anywhere from 16-100 microscope images that need to be stitched together to form a square. The microscope takes images in a spiral and are labeled in sequential order of how they are taken. The images are named like so, AS-PC-7173_200824160001_A01f00d0, AS-PC-7173_200824160001_A01f01d0, AS-PC-7173_200824160001_A01f02d0,... the bolded letters represent the image number so for example, a 4x4 montage image will have images in order from 00-015. I am currently using the imtile() function but I have to manually rename each image in the position the function stitches them which is right to left and top to bottom.

This is a representation of how the images are taken, 0 being the first image and 63 being the last. In order for my imtile() function to work I rename image 63 (AS-PC-7173_200824160001_A63f01d0 as 01, image 62 as 02, image 61 as 03, and so on.
The only code I have right now is as follows:
myFolder = '/Users/...';
fileFolder = fullfile(myFolder,'*.tif');
imds = imageDatastore(fileFolder);
stitched = imtile(imds);
imshow(stitched);
Is there a way to have matlab stitch images in an order of my choosing or even a way to rename my images in the order imtile() would stitch. (Rename them as 63, 63, 61, 60, 59, 58, 57, 56, 36, 35,...
Thanks for the help!
2 commentaires
Image Analyst
le 27 Août 2020
Just make up that array going out all the way to 100 (10-by-10), then it should be trivial. If you can't figure it out, give us code where you assign the 10-by-10 array and we'll do it.
Réponses (1)
jonas
le 27 Août 2020
Modifié(e) : jonas
le 27 Août 2020
I would just put each image in a cell array, A(1)... A(n) based on their original name.
Then it's just a matter of indexing. Here I've made 10000 2x2 RGB images as an example, using spiral() to make the indices.
for i = 1:10000
A{i} = repmat(i/10000,2,2,3);
end
new_id = spiral(100);
A_new = A(new_id);
I = cell2mat(A_new);
imshow(I)
0 commentaires
Voir également
Catégories
En savoir plus sur Read, Write, and Modify Image dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!