Intersection of two cells arrays of 256 by 256 by 3 matrices

I have two cells A and B. A and B has RGB images A={img1,img2,img3} A={img4,img2,img6} How can I find the intersection between two cells???

2 Comments

Does images have positions? I mean X and Y data?
Yes for example img1=256 by 256 by 3

Sign in to comment.

Answers (1)

I do not know of a way to directly find the intersection between two cells, but you can recast your two cells A and B as matrices and use the "intersect" function, like so:
A = [img1(:), img2(:), img3(:)]';
B = [img4(:), img2(:), img6(:)]';
[~, indicesA, indicesB] = intersect(A, B, 'rows');
This flattens each image into a single row of a matrix, then uses "intersect" with the "rows" option to find the intersection of A and B by row. The variables "indicesA" and "indicesB" will contain the corresponding indices of A and B that are part of the intersection.

Categories

Find more on Read, Write, and Modify Image in Help Center and File Exchange

Asked:

on 20 Jun 2017

Commented:

on 23 Jun 2017

Community Treasure Hunt

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

Start Hunting!