Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How to seperate touching blobs(closed) in a binary Image?

Status
Not open for further replies.

berko3000

Member level 3
Joined
Sep 26, 2004
Messages
61
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
403
Hi
Any idea(except erosion) for that?

Note: I tried erosion operation to shrink the blobs so they can reveal but It didnt work.Bec some blobs were disapper from the image
 

Re: How to seperate touching blobs(closed) in a binary Image

Ok. First of all, this kind of question is not really specific. It's like asking for a "magical method" to solve something. When solving a problem, looking at the problem first, then find the tools that can fit it.

Many image processing methods are designed to work in a way similar to humun dicision. When you say "touching blobs" not a single blob, there will be some features that you used to indicate that this is touching blobs.

For example, if most of the blobs are rounded(or almost) in shape, I can see like they are 2 rounded blobs joined. What can I do? I can determined from the roundedness of an initial labeled blob by checking the roundness(maybe check largest and smallest distance of a line passing through centroid.). Then if it's not likely to be a single blob, then I could seach along the longest axis passing through the centroid to find the narrowest gap and split the blobs there.

This only works for 2 blobs. However, the point is looking the problem at hand and apply the basic tool properly. If your blobs are all circle, square, or etc., you have to use proper methods, e.g. Hough transform, etc.

There are a lot of methods that can be used if applied properly. People can tell you to use a lot of things like statistical method, NN, or snake algo, etc., but if you don't apply them properly it might not work. On the other hand, with some specific contraints on your image, some simple method might work effectively.
 

Thanks for the answer first.I have more than 2 blobs so there are 3 or more touching at some time.I think I can use Houg Transform but I am really not sure that Hough Transform can detect these touching blobs.Is it possible?
 

Re: How to seperate touching blobs(closed) in a binary Image

First, ask yourself "do you know what Hough transform is and how it works?"
if "not", you are throwing in tools randomly. It's not likely that it will work unless you are really lucky.

To use Hough, your blobs will have to be round. You will have to extract the outer edge. of the touching blobs which must show the essential part of the roundness of the original untouched blobs because it only detects circles.

Looking at your problem and find something you can use, looking for tools randomly is not the way to go. There are a lot of other simple ways to do it depending on the characteristics of the problem. Probably just a simple one would work. For example, if the blobs are pretty much of the same size, you can estimate how many blobs are connected before separating them. This will make the process a lot easier. Or if your blobs are round and the overlapping part are very little, the outer edge at the touching will form a pretty steep turning angles.


All that I posted weren't meant to give you any solution. They are just example to show how to approach the problem. By identifying characteristics of the problem, you can find the effective solution.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top