|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
||||
|
||||
|
Image Tracking
Hey guys,
I've been trying to figure out how to do image tracking (I'm at home right now so I don't have the camera with me, just fooling around with the vision assistant) and I haven't the foggiest of where to even start. The tutorials aren't a lot of help and I can't navigate my way through the examples to figure out what they've done. Any help would be appreciated. |
|
#2
|
||||
|
||||
|
Re: Image Tracking
There's two things you must have before you can get a useful result:
|
|
#3
|
||||
|
||||
|
Re: Image Tracking
I'm trying to see if I can get the program to identify the shapes and determine how far from center each square is
|
|
#4
|
||||
|
||||
|
Re: Image Tracking
Here's a file that will give you the bounds of each square.
I did it by extracting the saturation plane, thresholding that (to create a boolean image), and then used particle analysis (deselecting everything except the object bounds). It may be that you would rather use the "center of mass" option, but I figured bounds would be most efficient in this case, since we know they are squares. As a note, processing actual images (preferably captured with the actual camera on the robot) will usually provide the most reliable results. Last edited by kamocat : 09-01-2011 at 17:51. |
|
#5
|
||||
|
||||
|
Re: Image Tracking
I'm not sure how to use this, I turned it into a VI, how do I use the data it gives me? It just comes out as the edited picture.
|
|
#6
|
||||
|
||||
|
Re: Image Tracking
When you're creating the VI, you must select the inputs and outputs you want.
![]() The result is the uploaded "find bounds of squares.vi". In this case, it also requires some further modification to see what data you have. The order of elements in the "particle analysis" is in the order you request the data. The modified VI is the uploaded "find bounds of squares 2.vi" If you want to find the center of these squares, just average the left and right bounds, and the top and bottom bounds. |
|
#7
|
||||
|
||||
|
Re: Image Tracking
Marshal, I'm more interested in the WHY of what you did rather than the "how". What operations should we choose to minimize processor overhead? Why use the saturation plane? Why not the intensity, or hue, or one of the others? Why did you threshold and use particle analysis instead of using a tool like the find circle or find ellipse?
Where can I find something that describes the "whys" of using vision with labview? |
|
#8
|
|||
|
|||
|
Re: Image Tracking
Your best bet is to look through the Vision Concepts manual. It is in NI/documentation in the Start menu. Also, there are lots of vision examples to look through and instrument for performance comparison.
Greg McKaskle |
|
#9
|
||||
|
||||
|
Re: Image Tracking
I chose the saturation plane because it provided even shading for all three squares. The intensity plane had each square at a different darkness (and actually varied at the edges of the squares), and the hue plane would not apply (all three squares are wildly different hues, and the hue of white is unpredictable).
If I was looking specifically for circles, I would use the circle finder. In this case it's a very clean image, and so analyzing all the particles (without even an erode and dilate) will produce excellent results. If it had been a real image, I probably would do some more processing to get a clean result. Last edited by kamocat : 11-01-2011 at 12:56. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|