Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Possible using just VBAI?

I new to VBAI and was wondering if it was possible to do this using just VBAI (without going into Labview) with a CVS-1455 &  Firewire camera:

1)  Based on a trigger,  I'd like to store images in a FILO buffer and display the last element in the buffer.

2)  Write to and Read from Arrays?

is there anyway to create a coordinate system based on the "green" resulting curve from the Geometric Matching Function instead of the red template box?  It seems like i'm only able to get the "center" of the template boxed region which isn't always consistent in its definition of the part in view. 

I can post a picture if anyone is interested in what i'm talking about...

Regis
 
0 Kudos
Message 1 of 6
(3,951 Views)
Hi Regis,
 
To answer your first question, you can acquire images based on a trigger in VBAI.  To acquire more than one image, call the acquire image multiple times just make sure Multiple Channel Acquisition is selected.  To select an acquired image for processing, use Select Image.
 
To answer the second question, you will probably need to make a custom step to pass arrays in and out of your VBAI program.  This would require LabVIEW and VBAI 2.6 or later.
 
I am not following your third question.  Could you please explain this in more detail?
 
Regards,
 
Ryan M.
Applications Engineer
National Instruments
0 Kudos
Message 2 of 6
(3,942 Views)
Thanks for the response, Ryan.

Q1)  I only have 1 camera (on 1 channel) and we're taking a snapshot once every 10 seconds or so.  How do I configure the CVS unit to store the previous 5 images (discard anything older) and show the oldest of the 5 images (including overlay results) on the screen after each trigger?  

Q2)  Does that mean i need the development toolkit for VBAI?  anything else?

Q3)  I've attached 2 pictures taken of the same part.  As you can see,  the template recognition isn't consistent between snapshots.  Because of this,  the location of the "center" of the part (thus Coord system)is constantly changing.  I was hoping to use the template to recognize the printing border,  then have VBAI determine the Center of the print border (not the center of the template).  I've used Cognex DVT software before and there is the ability to find the "center" of the recognized object (not the template)

 

0 Kudos
Message 3 of 6
(3,939 Views)

Hi Regis,

1)  With a 1394 camera, you can call the Acquire Image (IEEE 1394) multiple times.  Keep in mind VBAI is designed to run in a loop.  You will be able to process and reference x number of images, but once the loop starts over, the previous images are gone.  Based on your description thus far, I recommend using LabVIEW because creating a program that continually updates a buffer with a new image and deletes the old one will be much easier.  In addition, LabVIEW allows you to customize the display so you can show multiple images at one time, which is not possible in VBAI.

2)  VBAI 2.6 can call a LabVIEW VI.  No special toolkits or anything are required to do this; however, if you are using functionality from a toolkit, you will need that toolkit installed.  If I have LabVIEW Base, I can generate a VI for VBAI, but if I want to convert an array to an image and then pass this image into VBAI, I would need the Vision Development Module (Array to Image is not native to LabVIEW.  It is part of the Vision Development Module).

3)  In the Template tab of the Match Pattern Setup, you can apply an offset.  This will allow you to select the center of the print border instead of the center of the template.

Ryan M.
Applications Engineer
National Instruments

0 Kudos
Message 4 of 6
(3,920 Views)
Ryan,


3)  In the Template tab of the Match Pattern Setup, you can apply an offset.  This will allow you to select the center of the print border instead of the center of the template.

I'm not sure if I made myself clear.  Instead of finding the "center" of the red square, what i'm really looking for is the center (CoM) of the Green outlined area.  Again,  even when i'm looking at the same part over and over again,  The pattern recognition's definition of the part (in the red square) keeps changing ever so slightly,  but since i'm building my Coordinate system around that,  it messes up all my measurements when the center isn't properly defined....The green outline that is created by the geometric matching is very consistently recognized and defined by VBAI,  its just the "red square" (the comparison to the template) that seems to shift around quite a bit.

Regis

0 Kudos
Message 5 of 6
(3,900 Views)

Hi Regis,

Excluding the outer edge of you pattern, it has very little variation (the top, bottom, left, and right sections look identical).  If the acquired image had a distinguishing feature in the middle, pattern matching would behave in the way you desire.  Since the image does not, I recommend using geometric pattern matching.  I setup a template that looks for the outer edge of the pattern.  This gave me very good results.  Please see the attached image.

Regards,

Ryan M.
Applications Engineer
National Instruments

0 Kudos
Message 6 of 6
(3,863 Views)