LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Circle Detection works with USB Camera but Not With FireWire

I am trying to detect a circle that we have placed on top of a robot.  Basically, there is a black circle placed on top of a white circle that is used to find the orientation of a robot when taking an image from above.  We have a USB camera and a fireWire camera to acquire the images.  It works fine and can detect the black circle with the USB camera, but can not with the firewire camera.  I saved the image taken by the fireWire camera to a .png file.  I then used Vision assistant to redo the way it tries to detect a circle.  The attached VI it output is below.  The VI below works fine when passing in the image file, but when we try to pass in the image directly from the FireWire camera it does not work.  I am running the fireWire camera at 30 Frames per second at 640x480.  Basically it appears that both ways of acquiring an image (either from a file or the camera itself) should get the same image.  Is there any reason why it works with the file and not with the image acquired directly from the camera? 

 

We are using a Apple iSight FireWire Camera with a CVS 1450

 

Thanks,
Kevin

Download All
0 Kudos
Message 1 of 5
(3,973 Views)

Hey Kevin,

 

When you say you are able detect the circle with the USB camera but not the Firewire camera, what is different between the two situations. Are you able to acquire images from your Firewire camera? Are you receiving an error or is the IMAQ Detect Circles portion of your code simply not detecting circles? How do you know that it 'doesn't work.' If you are able to capture pictures from your Firewire camera, you should be able to pass the image to the IMAQ Detect Circles vi just as you did with the image acquired from the file.

 

Hope some of these questions help identify what might be going wrong in your applications.

 

Ben

Applications Engineering

National Instruments

Hope this helps.
-Ben

WaterlooLabs
0 Kudos
Message 2 of 5
(3,930 Views)
I have a system that performs more than just this task.  Everything else works fine with both the USB camera using a computer and the FireWire Camera using a CVS.  I am not receiving any type of error.  The image I attached was taken with the FireWire camera.  When passed through that code it works fine on the computer (I havent attempted to run this code itself with the saved image on the CVS).  When I adjust the code to use grab to acquire images it does not detect any circels.
0 Kudos
Message 3 of 5
(3,927 Views)

Hey Kevin,

 

How have you modified your code to use grab? Can you acquire the image fine? Can you do other processing functions after grabbing the image? As in, is this problem isolate to this IMAQ Detect Circles function? How are you indicating that you have found a white spot? I noticed in your sample code that you do not have any indicators coming out of the IMAQ Detect Circles.

 

Hope these questions help.

 

Ben

Hope this helps.
-Ben

WaterlooLabs
0 Kudos
Message 4 of 5
(3,909 Views)

I was using grab.  I ended up finding the circles a different way.  I had a binary image of it and just inverted everything and was able to use particle analysis on that. 

 

Thanks

Kevin

0 Kudos
Message 5 of 5
(3,877 Views)