Effacer les filtres
Effacer les filtres

Image sequence (images behind each other) MATLAB

4 vues (au cours des 30 derniers jours)
Pouyan Sadeghian
Pouyan Sadeghian le 11 Juin 2021
Commenté : Tarunbir Gambhir le 15 Juin 2021
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:
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

Réponses (1)

Tarunbir Gambhir
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);
  3 commentaires
Pouyan Sadeghian
Pouyan Sadeghian le 14 Juin 2021
I show you what I tried without success.
For
scan=reshape(double(matrix), 20,100,10);
I tried
imshow(scan(;,;,;,1:end))
But I get this error
Tarunbir Gambhir
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.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by