| Author |
Message |
< extend ~ Point Grey FlyCapture2 (FireFlyMV) |
|
juliolucio
|
Posted: Thu Jul 02, 2009 10:43 am |
|
|
| Joined: Thu Jun 21, 2007 12:26 pmPosts: 12 |
Hei Guys. I wrote this addon for capturing from a FireFly MV camera. Is ussing multithread intell library, so is OF 6, it wont compile in OF5 Instructions: 1) Unrar and copy ftp://juliolucio.com/ofxFFMV.rar to your addons folder. user: open frameworks pass: thed 00d 2) Copy FlyCapture2.dll to your application bin directory. 3) In your project settings, add the path ..\..\..\addons\ofxFFMV\src
to the Aditional Include Directories, for debug and release configurations. 4) In your project settings too, add the path ..\..\..\addons\ofxFFMV\lib
to the Aditional Library Directories, for debug and release configurations. 5) Again, in your project settings too, add to the Aditional Dependencies the library path ..\..\..\addons\ofxFFMV\lib\FlyCapture2.lib, for debug and release configurations. 6) Download and install FlyCapture2 drivers from Point Gray. 7) Usse format7 settings to adjust the cameras resolution, and save the configs. ( In multiple camera capturing, all have to be the same).  If u are ussing multiple cameras, you should download and install the Point Gray FlyCapture2, syncronitation patch application. Application that must be runed before all tha cameras have the same sattings. 9) Include the addon ".h": Code: #include "ofxFFMV.h" to your application header. 10) Add the grabber pointer to the private applications variables. Code: //video grabbers for cameras Fire Fly MV ofxffmv* vidGrabberFFMV01; 11) In the aplication setup method, initialize the object. Use the resolution that u setted in the camera configuration Format7. Code: vidGrabberFFMV01 = new ofxffmv( ); //allocating pixels for camera images pixelsCamera0 = NULL;
12) In your application update method, add the frame grabing. (The isNewFrame needs some more work and will always be returned true) Code: vidGrabberFFMV01->grabFrame( pixelsCamera0 , 0 , isNewFrame );
if( isNewFrame){ grayImg01.setFromPixels( pixelsCamera0 , camImagWidth , camImagHeight );
13) correct my spelling. Enjoy guys. Julio.
Last edited by juliolucio on Thu Aug 27, 2009 6:15 pm, edited 1 time in total.
|
|
Top
|
|
|
yair
|
Posted: Thu Jul 30, 2009 7:13 pm |
|
|
| Joined: Wed May 21, 2008 2:03 pmPosts: 10Location: tlv, israel |
cool, many thanks. i'll try it and report
|
|
Top
|
|
|
yair
|
Posted: Thu Jul 30, 2009 8:15 pm |
|
|
| Joined: Wed May 21, 2008 2:03 pmPosts: 10Location: tlv, israel |
i'm getting this error Code: 1>error C2228: left of '.setFromPixels' must have class/struct/union on Code: grayImg01.setFromPixels( pixelsCamera0 , camImagWidth , camImagHeight );
|
|
Top
|
|
|
juliolucio
|
Posted: Thu Aug 27, 2009 6:19 pm |
|
|
| Joined: Thu Jun 21, 2007 12:26 pmPosts: 12 |
This is probably because u are declaring in your header grayImg01 like a pointer The error will dessapear if u use this sintasis: grayImg01->setFromPixels( pixelsCamera0 , camImagWidth , camImagHeight );
I hope that works
Regards and sorry for my awefull english
|
|
Top
|
|
|
charli_e
|
Posted: Sun Aug 30, 2009 12:39 am |
|
|
| Joined: Fri Jan 18, 2008 3:59 pmPosts: 147Location: Barcelona |
great addon Julio! That camera is really nice, 752x480 at 60 FPS, 1328x1048 at 23 FPS (FireWire and USB 2.0) Thanks
_________________ carles gutierrez |
|
|
Top
|
|
|
zeos
|
Posted: Mon Jan 18, 2010 5:01 pm |
|
|
| Joined: Fri Sep 12, 2008 2:18 pmPosts: 15 |
Hi, I am using latest release of Code::Blocks under Win32 XP/Sp2, I add the path to the libs, as well as the DLL file in the BIN. I checked all teh steps. I am using OF_precompiled. ALso I checked the lib , it exports all stuff that I need. but the linker says: Code: obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0xdb)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x104)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x199)||undefined reference to `FlyCapture2::BusManager::~BusManager()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x1ab)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x1e2)||undefined reference to `FlyCapture2::BusManager::~BusManager()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x1f4)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x2cb)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x2f4)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x389)||undefined reference to `FlyCapture2::BusManager::~BusManager()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x39b)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x3d2)||undefined reference to `FlyCapture2::BusManager::~BusManager()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x3e4)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x44d)||undefined reference to `FlyCapture2::Error::GetDescription() const'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x4ce)||undefined reference to `__imp___ZN11FlyCapture25ErrorC1Ev'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x4f0)||undefined reference to `__imp___ZN11FlyCapture210BusManagerC1Ev'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x51f)||undefined reference to `FlyCapture2::BusManager::GetNumOfCameras(unsigned int*)'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x55a)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x594)||undefined reference to `__imp___ZN11FlyCapture25ErrorC1ERKS0_'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x5ca)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x6bf)||undefined reference to `__imp___ZN11FlyCapture26CameraC1Ev'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x726)||undefined reference to `FlyCapture2::BusManager::GetCameraFromIndex(unsigned int, FlyCapture2::PGRGuid*)'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x761)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x7a1)||undefined reference to `__imp___ZN11FlyCapture25ErrorC1ERKS0_'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x7d7)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x859)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x893)||undefined reference to `__imp___ZN11FlyCapture25ErrorC1ERKS0_'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x8c9)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0xad0)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0xb0a)||undefined reference to `__imp___ZN11FlyCapture25ErrorC1ERKS0_'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0xb40)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0xbdd)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0xc17)||undefined reference to `__imp___ZN11FlyCapture25ErrorC1ERKS0_'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0xc4d)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0xce6)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0xd20)||undefined reference to `__imp___ZN11FlyCapture25ErrorC1ERKS0_'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0xd56)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0xd8f)||undefined reference to `__imp___ZN11FlyCapture25ImageC1Ev'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0xe82)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0xeaf)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0xec8)||undefined reference to `FlyCapture2::BusManager::~BusManager()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0xf5e)||undefined reference to `__imp___ZN11FlyCapture25ErrorC1Ev'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0xf80)||undefined reference to `__imp___ZN11FlyCapture210BusManagerC1Ev'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0xfaf)||undefined reference to `FlyCapture2::BusManager::GetNumOfCameras(unsigned int*)'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0xfea)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x1024)||undefined reference to `__imp___ZN11FlyCapture25ErrorC1ERKS0_'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x105a)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x114f)||undefined reference to `__imp___ZN11FlyCapture26CameraC1Ev'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x11b6)||undefined reference to `FlyCapture2::BusManager::GetCameraFromIndex(unsigned int, FlyCapture2::PGRGuid*)'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x11f1)||undefined reference to `FlyCapture2::Error::~Error()'| obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0x1231)||undefined reference to `__imp___ZN11FlyCapture25ErrorC1ERKS0_'| ||More errors follow but not being shown.| ||Edit the max errors limit in compiler options...| ||=== Build finished: 50 errors, 17 warnings ===|
_________________ -- Antoni Rayzhekoff |
|
|
Top
|
|
|
elliotwoods
|
Posted: Mon Jan 25, 2010 2:39 pm |
|
|
| Joined: Tue Jan 12, 2010 8:37 pmPosts: 53 |
i'm using this camera in osx with libdc1394. if anyone needs a hand in osx then drop me a message and i'll bung an example together. it's no so hard once you've got libdc1394 anyhow
|
|
Top
|
|
|
zeos
|
Posted: Sat Jan 30, 2010 4:08 pm |
|
|
| Joined: Fri Sep 12, 2008 2:18 pmPosts: 15 |
Hi, I contact PTGrey support team and they told me that with GCC I have to use the C lib (FlyCapture2_C), because the VCC has a different notation (naming convention or something) about the classes and methods? Weird. so this code, does not work for me ;( due to lib-what-ever-incompatibility, any ideas how to "convert" the libs to GCC/LD, I mean to be able to link them?
best regads
zeos
_________________ -- Antoni Rayzhekoff |
|
|
Top
|
|
|
charli_e
|
Posted: Mon Mar 29, 2010 12:25 pm |
|
|
| Joined: Fri Jan 18, 2008 3:59 pmPosts: 147Location: Barcelona |
Hi all ! Hi Julio! I've adquired one of this wonderfull camera FFMV-03M2M/C BW (fireWire a) and right now I'm trying to get it linked in my Visual Studio (v006) or CodeBlocks project (v0061) on Windows XP SP2, and them gives links fails with the libs. I've installed the FlyCapture2 driver as you comment and linked also the FlyCapture2.lib and dll instaled to the addon and bin folders. I've added also the files from the SRC to the project and I got the same errors as ZEOS Code: obj\release\addons\ofxFFMV\src\ofxffmv.o:ofxffmv.cpp:(.text+0xdb)||undefined reference to `FlyCapture2::Error::~Error()'| etc.. Julio, What about the settings you used to run the camera..I mean about SO (windows or Linux) , IDE (CodeBlocks or VS) and camera protocol (firewire or USB port). Also Im tlooking to use the FlyCapture_C version, but Im still looking how, Im getting compile errors using the Image library inside FlyCapture2_C functions. Regards
_________________ carles gutierrez |
|
|
Top
|
|
|
charli_e
|
Posted: Tue Mar 30, 2010 1:51 am |
|
|
| Joined: Fri Jan 18, 2008 3:59 pmPosts: 147Location: Barcelona |
Hey ! I've got the fireFlyMV running in windows and firewire port, using the C mode ( this is similar FlyCapture2Test_C from fireCap examples... not multiple camera implemented. to use this addon: Use dll and lib -> FlyCapture2_C.dll (bin folder) & FlyCapture2_C.lib (project settings) Use src\C folder -> Search Directories TestApp.h Code: #include "ofxFFMV_C.h" ofxffmv_C * vidGrabberFFMV01; unsigned char * pixelsCamera0; bool isNewFrame;
TestApp.cpp Setup Code: // use FireFly -> format 7 for camera resolution & properties vidGrabberFFMV01 = new ofxffmv_C( ); pixelsCamera0 = NULL;
Update Code: // use the first flireFly camera founded vidGrabberFFMV01->grabFrame( pixelsCamera0 , isNewFrame ); Enjoy it!
Attachments:
File comment: Use only the C folder for searchDirectories options
ofxFFMV.rar [35.94 KiB]
Downloaded 28 times
_________________ carles gutierrez |
|
|
Top
|
|
|
hackdan
|
Posted: Fri Apr 30, 2010 5:53 am |
|
|
| Joined: Tue Apr 06, 2010 3:17 amPosts: 4 |
charli_e wrote: Hey ! I've got the fireFlyMV running in windows and firewire port, using the C mode ( this is similar FlyCapture2Test_C from fireCap examples... not multiple camera implemented. to use this addon: Use dll and lib -> FlyCapture2_C.dll (bin folder) & FlyCapture2_C.lib (project settings) Use src\C folder -> Search Directories TestApp.h Code: #include "ofxFFMV_C.h" ofxffmv_C * vidGrabberFFMV01; unsigned char * pixelsCamera0; bool isNewFrame;
TestApp.cpp Setup Code: // use FireFly -> format 7 for camera resolution & properties vidGrabberFFMV01 = new ofxffmv_C( ); pixelsCamera0 = NULL;
Update Code: // use the first flireFly camera founded vidGrabberFFMV01->grabFrame( pixelsCamera0 , isNewFrame ); Enjoy it! Icompilein 0061 with visual 2008 OMP abort: Initializing libguide40.dll, but found libiomp5mt.lib already initial ized. This may cause performance degradation and correctness issues. Set environment variable KMP_DUPLICATE_LIB_OK=TRUE to ignore this problem and force the program to continue anyway. Please note that the use of KMP_DUPLICATE_LIB_OK is unsupported and using it may cause undefined behavior. For more information, please contact Intel(R) Premier Support. ????¿¿¿¿¿ HELP Please!
|
|
Top
|
|
|
hackdan
|
Posted: Fri Apr 30, 2010 6:28 am |
|
|
| Joined: Tue Apr 06, 2010 3:17 amPosts: 4 |
FlyCapture2 library version: 2.0.1.6 Application build date: Apr 30 2010 00:48:53
Numcam detecteds 1
*** CAMERA INFORMATION *** Serial number - 10130985 Camera model - Firefly MV FFMV-03M2M Camera vendor - Point Grey Research Sensor - Unknown Resolution - Unknown Firmware version - 1.2.2.3
Ok i put the var envairoment in true run but the program exit when run this is his output
|
|
Top
|
|
|
grimus
|
Posted: Fri Apr 30, 2010 12:19 pm |
|
|
Joined: Mon May 14, 2007 10:57 amPosts: 722Location: Melbourne, Australia |
That looks like some problem with the FlyCapture2 library. Try contacting the Point Grey support people. Otherwise have you tried the ofxVideoGrabber addon? It should work with this camera although may not offer as many features as the Point Grey library.
|
|
Top
|
|
|
charli_e
|
Posted: Fri Apr 30, 2010 3:17 pm |
|
|
| Joined: Fri Jan 18, 2008 3:59 pmPosts: 147Location: Barcelona |
Hey,
Did you setup the camera resolution and options as JulioLucio explains? Use format 7 for it. Can u see the camera from there?
Hope that helps
_________________ carles gutierrez |
|
|
Top
|
|
|
|