How to intersect 6 binary images?
1 view (last 30 days)
Show older comments
Ivan Shorokhov
on 15 Jul 2015
Commented: Ivan Shorokhov
on 15 Jul 2015
Given: I have 6 binary image:
Want: I want to intersect those 6 images to get the objects which will appear in all images.
Currently done:
I can do it manually, such as:
AllImages = cont{1} & cont{2} & cont{3} & cont{4} & cont{5} & cont{6};figure; imshow(inBothImages);
Needed: I'm wondering how to make a loop for it?
Such as:
if length(num)>2
for m = 2:length(num(num>0))
AllImages = cont{num(1)} & cont{num(m)}
end
end
But it did't work.
[ACKNOWLEDGMENTS]
Thank you Guillaume!
[MATLAB version]
R2014a
0 Comments
Accepted Answer
Guillaume
on 15 Jul 2015
The simplest way is to concatenate all your images in a higher dimension and simply use all in that higher dimension.
If your images are 2d:
AllImages = all(cat(3, cont{:}), 3); %that's it all done.
or for a generic cell array of Nd images:
higherdim = ndims(cont{1}) + 1;
AllImages = all(cat(higherdim, cont{:}), higherdim);
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!