Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Coreco Framegrabber and Photon Focus Cameras for StereoVision

Hi All,

I am using 3 cameras and Coreco frame grabbers for a machine vision application of mine. I have also purchased Camera Driver for the Frame Grabbers and have now written some code for the synchronous acquisition from 3 cameras. I shall soon be implementing stereo matching using the Open CV libraries. But I just wanted confirmation that my code has the cameras acquiring Synchronously. There are a couple of other vis I could use but Iam not sure where they would go.

Also I am looking to have the acquisition so can control parameters like the resolution (make it 12bit), exposure time, frame rate etc. I am not entirely sure how I can control that. Do I just edit it directly from the configuration file.

I have attached the camera manual, screenshot of the code and details of the frame grabber. Any help would be much appreciated.

Regards,
Darren
0 Kudos
Message 1 of 5
(4,900 Views)
Sorry attached the wrong screen shots of the code the right one is below. Two images in doc
0 Kudos
Message 2 of 5
(4,897 Views)
Hi dalvares,
I don't know anything about the software you are using, but if it's anything like the NI-IMAQ drivers used with our frame grabbers, my guess is that your cameras are not synchronized using hardware-based  timing - that is, they are not waiting for an external signal to trigger them at the same time. While you might get reasonable performance in the software-based synchronization you have there (with some time drift between each camera's capture frames every time you acquire), the fact that you are also writing the images to disk in the same loop can slow your acquisition down. That means you are adding another level of uncertainty to your timing - you already are having the cameras only loosely synched through software-timing, but now you are also adding the variable amounts of time that each might take to write their files to disk.

In order to try and synchronize the operations as best as possible with your current hardware setup, you may be best off placing a sequence frame in the acquisition which only contains the "Grab" VIs so that they all execute as closely together as possible (since the sequence frame will wait until all your "Grab" VIs are ready to be called in that loop iteration before it will actually call them.) Similarly, it would be best to pre-allocate all your buffers before your acquisition, if possible, so that you don't take the performance hit of writing them to disk within the while loop. Then you can fill them much faster as you acquire and then after you exit the loop, you can write each buffer to disk and dispose of them.
0 Kudos
Message 3 of 5
(4,864 Views)
HI, How did you get the function of separa to vi?
0 Kudos
Message 4 of 5
(4,221 Views)

Hi bozaich,

 

Judging by the first post, it looks like dalvares bought the driver and it probably included VI's for him to use in LabVIEW. You might also want to check out this post to see where to get a driver that includes VI's.

0 Kudos
Message 5 of 5
(4,197 Views)