![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/652315/image.jpeg)
Image sequence (images behind each other) MATLAB
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi,
I want to create an image sequence with multiply images. I want to display my images behind each other, like in the following picutre:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/650080/image.gif)
I found this site: Work with Image Sequences as Multidimensional Arrays - MATLAB & Simulink - MathWorks Deutschland
And the commands cat, montage but I think with these commands I get an image sequence with images side by side.
My issue:
I have a matrix which I want to seperate in 10 matrices with same dimensions and display them an image sequence serially like I mentioned.
This is how I started. I think with the following command I can seperate my matrix in 10 matrices (scan).
scan=reshape(double(matrix), 20,100,10);
If I want for example display my third matrix I enter:
scan3=scan(:,:,3);
Now I dont know how to continue.
I was thinking about a for loop but I dont really know how to realize that.
I searched in the forum for similar questions but I did not find a similar question.
I hope my question is understandable.
Thank you
0 commentaires
Réponses (1)
Tarunbir Gambhir
le 14 Juin 2021
I am not sure if there is any MATLAB tool/function that does this specifically. But as a workaround, a simple script can create similar results. Try the following:
img1 = imread('AT3_1m4_01.tif');
img2 = imread('AT3_1m4_02.tif');
img3 = imread('AT3_1m4_03.tif');
img4 = imread('AT3_1m4_04.tif');
multi = cat(3,img1,img2,img3,img4);
I = img1;
pad = 0.1;
[ri, ci] = size(I);
for x=1:size(multi,3)-1
[r, c] = size(I);
inew = uint8(zeros(floor([r, c]*pad) + [r, c]) + 255);
inew(1:r, floor(c*pad)+1:end) = I;
inew(end-ri+1:end, 1:ci) = multi(:,:,x);
I = inew;
end
imshow(I);
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/652315/image.jpeg)
3 commentaires
Tarunbir Gambhir
le 15 Juin 2021
The use of imshow is incorrect here. You cannot achieve a slide-like image switcher using imshow. For the input, this function only takes a grayscale, or binary image as a 2-D matrix, or an RGB image of the format MxNx3. Please refer the documentation on how to use the function.
I can suggest you to try creating an app with a slider image view based on your requirements, using the App Designer.
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!