Check if a binary image is within a particular binary area

5 views (last 30 days)
Elysi Cochin
Elysi Cochin on 24 Apr 2022
Commented: DGM on 25 Apr 2022
I have a binary image BW_large, and another binary image BW_small
How do I check if BW_small is within BW_large?

Accepted Answer

DGM
DGM on 24 Apr 2022
Edited: DGM on 24 Apr 2022
I'm assuming your images are the same size, but contain objects of differing size.
The intersection of two binary images A and B is
intAB = A & B;
If the intersection is equal to one of the two images, then that image is wholly contained within the other.
BinA = isequal(B,intAB);
Otherwise, if you have different size images which contain similarly-sized and oriented copies of the same object, you might look at normxcorr() or something.
  6 Comments
DGM
DGM on 25 Apr 2022
This gives the ratio of the intersection area to the area of BW3
nnz(intAB3)/nnz(BW3)

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 24 Apr 2022
If you just want to know if ANY part of it is within the other blob, then you can make up your marker image and main image, and call imreconstruct(). You have years of image processing experience now so you should be able to figure it out.

Community Treasure Hunt

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

Start Hunting!