Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

How can I in IMAQ Vision know to which blob a pixel belongs to?

Hi,
How can I in IMAQ Vision know to which blob (particle) a pixel belongs to?
I use IMAQ Complexmeasure and Complexparticle to get data about every particle in the image and then use this data (position, length and direction) to see if two particles "belong to each other". I want to start from one particle and from the data (position, length and direction) find a search area and in that area look for pixels (binary image), if I find one I want to know to which blob that pixel belongs to. (Programmatically) How can I do that?
Deeper explanation: The image I send is just a small part of a bigger image. As you can see there are a lot of streaks on the image, they are generated by small particle
s moving in the air. I use a long exposure time and have a chopper in front of the camera that will generate a short streak, a middle long streak and a long streak. By doing this I can see how the air is moving around in a room. As you can see I must know which streaks are generated by the same particle. As I said earlier I use IMAQ Complexmeasure and Complexparticle to get data about every blob (streak in this case) in the image and then use this data (position, length and direction) to see if two streaks "belong to each other". I start from one streak and from that streaks data (position, length and direction) I can find a search area and in that area look for pixels ( hopefully belonging to a streak generated by the same particle ), if I find a pixel I want to know to which streak (blob) that pixel belongs to so I can look at this new streaks data (length, direction) to verify if these two streaks are generated by the same particle. So my questions are:
How can I see to which strea
k (blob) an individual pixel belongs to? (programmatically)
What is the best way to create a search area, ROI? (programmatically)
What is the best way to look for a pixel in the search area, IMAQ GetPixelValue? (programmatically)

Thanks
Pelle
Download All
0 Kudos
Message 1 of 2
(3,045 Views)
Pelle,

This is an interesting project. It will be difficult to use blob processing, because there are a large number of intersecting paths.

A few ideas to start with:

For each particle, the path is essentially the same brightness. I would start with white and gradually decrease the threshold level to locate the different blobs.

Also, for each particle, the alignment is roughly the same. I would only consider blobs that have about the same orientation of the long axis. They don't seem to make sudden right angle turns.

I would search by doing a particle analysis, select a particle and search for related particles by comparing the centroid of nearby particles to see if they fall in the area +/- 15 degrees from the long axis orientation of the
particle. You should be able to locate a best choice at each end of the particle.

Bruce
Bruce Ammons
Ammons Engineering
Message 2 of 2
(3,045 Views)