wlucas
February 20, 2008, 19:33:43
Hi,
I'm new to using The Image Source IC Control library, and I had a few questions. I currently am using 6 DBK 21AF04 ImagingSource cameras. I have 3 firewire PCI cards with 2 cameras per card. I have run the IC Capture 2.0 software and it appears to be able to handle 6 cameras running in BY8, 640x480, 30fps without any bandwidth trouble. However, I am writing a program that needs to process these frames in parallel. The frames captured do no have to be synchronized. But, I do need to take advantage of the parallelism to increase the speed of the system.
The basic steps I need to do are this:
1. Grab an image
2. Run metrics on that image
3. If metrics > threshold
save the image
I just need this same thread to execute for each of the 6 cameras. Currently I have been using MFC worker threads to try to accomplish this, but after executing m_Grabber.startLive( false ); I get the following debug output
The thread 'DShowLib : CUCBTImpl Thread' (0xa50) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x994) has exited with code -2147024637 (0x80070103).
c:\csource\ic30\core\dshowlib\filtergraph.cpp(301) : Graph returned S_FALSE, so not yet started ...
Then after executing m_pSink->snapImages( 5 ); It crashes with this message
The thread 'DShowLib : CDispEventThread' (0xa0c) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x1d4) has exited with code 0 (0x0).
It seems that MFC worker threads is not the way to multithread this, is there another way to do multithreading to get this to work? Thanks for your time!
-Will Lucas
I'm new to using The Image Source IC Control library, and I had a few questions. I currently am using 6 DBK 21AF04 ImagingSource cameras. I have 3 firewire PCI cards with 2 cameras per card. I have run the IC Capture 2.0 software and it appears to be able to handle 6 cameras running in BY8, 640x480, 30fps without any bandwidth trouble. However, I am writing a program that needs to process these frames in parallel. The frames captured do no have to be synchronized. But, I do need to take advantage of the parallelism to increase the speed of the system.
The basic steps I need to do are this:
1. Grab an image
2. Run metrics on that image
3. If metrics > threshold
save the image
I just need this same thread to execute for each of the 6 cameras. Currently I have been using MFC worker threads to try to accomplish this, but after executing m_Grabber.startLive( false ); I get the following debug output
The thread 'DShowLib : CUCBTImpl Thread' (0xa50) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x994) has exited with code -2147024637 (0x80070103).
c:\csource\ic30\core\dshowlib\filtergraph.cpp(301) : Graph returned S_FALSE, so not yet started ...
Then after executing m_pSink->snapImages( 5 ); It crashes with this message
The thread 'DShowLib : CDispEventThread' (0xa0c) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x1d4) has exited with code 0 (0x0).
It seems that MFC worker threads is not the way to multithread this, is there another way to do multithreading to get this to work? Thanks for your time!
-Will Lucas