#include <iclDCGrabber.h> #include <iclTestImages.h> #include <iclFileWriter.h> using namespace icl; using namespace std; Size size(160,120); class MyThread { public: MyThread(){ std::vector<DCDevice> devs = DCGrabber::getDeviceList(); if(!devs.size()){ ERROR_LOG("no dc device found -> exiting!"); exit(-1); } for(unsigned int i=0;i<devs.size();i++){ gs.push_back(new DCGrabber(devs[i])); printf("adding camera %s \n",devs[i].getModelID().c_str()); gs[gs.size()-1]->setDesiredSize(Size(640,480)); gs[gs.size()-1]->setDesiredFormat(formatRGB); gs[gs.size()-1]->setProperty("format","DC1394_VIDEO_MODE_640x480_MONO8@DC1394_FRAMERATE_15"); } image = new Img8u(Size(devs.size()*640,480),formatRGB); } ~MyThread(){ for(unsigned int i=0;i<gs.size();i++){ delete gs[i]; } gs.clear(); } virtual void run(){ for(int k=0;k<10;k++){ for(unsigned int i=0;i<gs.size();i++){ image->setROI(Rect(i*640,0,640,480)); gs[i]->grab()->deepCopyROI(&image); } system("if [ ! -d images ] ; then mkdir images ; fi"); // static icl::FileWriter soWriter("images/Frame###.ppm"); //usleep(100000); // soWriter.write(image); // usleep(100000); } } int device; std::vector<DCGrabber*> gs; ImgBase *image; }; int main(int nArgs, char **ppcArg){ MyThread *x=new MyThread; x->run(); delete x; return 0; }