Deleting duplicate images in 3-dimesional matrix

2 vues (au cours des 30 derniers jours)
Dimitris M
Dimitris M le 1 Juil 2012
Hello
I have a quite simple question that I can not solve.
I have a stack of images in a matrix N x M x D. Is there a way to delete duplicated images may be included in this matrix easily ?
I have some complex for loop algorithm that I could try to implement but I was thinking they may be an easier way.
Thank you in advance

Réponse acceptée

Teja Muppirala
Teja Muppirala le 1 Juil 2012
%First, I'll make some sample data with some duplicates:
A = rand(200,200,50);
A(:,:,16) = A(:,:,41);
A(:,:,32) = A(:,:,41);
A(:,:,22) = A(:,:,29);
%Step 1. Convert the 3d matrix into a bunch of rows
sizeA = size(A);
A_rows = reshape(A,[],sizeA(3))';
%Step 2. Call unique on the rows
A_unique = unique(A_rows,'stable','rows');
%Step 3. Reshape the rows back into a 3d matrix
A_unique = reshape( A_unique' ,sizeA(1),sizeA(2),[]);

Plus de réponses (0)

Catégories

En savoir plus sur Images 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!

Translated by