Check if a binary image is within a particular binary area

2 views (last 30 days)
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
Elysi Cochin
Elysi Cochin on 25 Apr 2022
Thank you Sir, thats working. Sir one more doubt, how did you find tolerance?
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.

Categories

Find more on Images in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!