@elliotwoods
Hi Elliot.
It interesting to see that you started working on a spinnaker implementation.
Is it working?
Do you think it would work for this camera since it is listed to use Spinnaker SKD?
What’s your general experience in OF with it; speed, frame size, fps, etc?
It’s likely to work.
I used ofxSpinnaker for a stereo tracking system
2 cameras, each 1280x800 @ 60Hz on one system (synced)
It ran very stable
Note this is built on top of ofxMachineVision, so you’ll need to get familiar with that. That handles all the threading, frame pooling, parameters, etc etc
The only thing is that I probably built ofxSpinnaker as a DLL plugin for to use with the ofxMachineVision external plugin framework. You don’t need to do that (if can be a bit crazy using the plugin approach).
for which OF version are ofxMachineVision and ofSpinnaker build?
trying it with 0.9.8 and get a whole bunch of build error.
I also see files are still named testApp.h which must mean it’s 0.8.x?
I’m trying to simply build the simpleCamera example in ofxMachineVision.
but it needs ofxUVC, which needs ofxYML, also ofPlugin, ofxSingelton and ofxLiquidEvent.
i.e. not compiling for now.
would you happen to have an example for ofxSpinnaker, one that is not a ofxSpinnakerLib, but with a nice main.cpp, ofApp.cpp and ofApp.h file ?
sorry for all these questions.
but the promise of using those nice cameras is just too tempting.
the concept of ofxMachineVision is that it completely abstracts away the idiosyncrasies of the camera driver from your application. It works with Canon EDSDK, Ximea, IDS UEye, Point Grey/FLIR Spinnaker, VideoInput, UVC Capture, BlackMagic, Still Images, Video Files, Null Device, Kinect RGB camera, and a couple more I can’t remember right now
so for each camera driver you just right a very thin class which describes the camera to ofxMachineVision, then ofxMachineVision does all the boilerplate code for you. This is supposed to mean you’re getting the best implementation of a threading camera class or whatever, and at the same time all that boilerplate (including the examples) are all in one code base.
Using the Factory model (and plugins if you like), it’s then also possible to list all devices of all types attached to the system, and switch between them.
Hi !
Anyone wanna try the addon? Just the simple exaple with the webcam devide. I’m curious of what I’m doing wrong or if there is something missing.
Cheers!
Hi,
I’ve also added a fork ( including the fix discovered by @Jordi) in case somebody else wants to try it in the 0.9.8. Include one example of Spinnaker working with VS2015 ( thanks to @elliotwoods to help me to build the libraries working ). Check this issue for more info.
https://www.ptgrey.com/oryx-50-mp-color-10gige-sony-imx250
The idea is to use a 16mm lens for both and capture people at 10 meters then show them at a high resolution screen (for outdoors). There are some other variables that can affect to this but just in case you have experience doing such kind of projects I will like to know your opinions.
Did anyone have any luck with this. I am trying with a blackfly. I have everything compiling, but I dont get any image. I would expect I needed to give an IP address or serial number.
I have only this code
ofApp.h
#pragma once
#include "ofMain.h"
#include "ofxSpinnaker.h"
#include "ofxMachineVision.h"
class ofApp : public ofBaseApp{
public:
void setup();
void update();
void draw();
void keyPressed(int key);
void keyReleased(int key);
void mouseMoved(int x, int y );
void mouseDragged(int x, int y, int button);
void mousePressed(int x, int y, int button);
void mouseReleased(int x, int y, int button);
void mouseEntered(int x, int y);
void mouseExited(int x, int y);
void windowResized(int w, int h);
void dragEvent(ofDragInfo dragInfo);
void gotMessage(ofMessage msg);
ofxMachineVision::SimpleGrabber<ofxMachineVision::Device::Spinnaker> camera;
};
[ error ] ofxMachineVision::Grabber::Simple::stopCapture: Method cannot be called whilst device is not open
device exists
[ error ] ofxMachineVision::Grabber::Simple::stopCapture: Method cannot be called whilst device is not open
[ error ] ofxMachineVision: Couldn't open device : Spinnaker: NULL pointer dereferenced. [-1015]
[ error ] ofxMachineVision::Grabber::Simple::stopCapture: Method cannot be called whilst device is not open
[ error ] ofxMachineVision::Grabber::Simple::open: Failed to open device
Any hints? I am on vs2017 and of 0.10, I have update the targets for all the solutions and everything is compiling fine…
Hi @fresla,
I had same issue. I’ve thought I could fix it adding some settings parameters.
I’ve got them working with ofxFlyCapture, but because for my project was better capture first via TouchDesigner (TD recently added flyCapture & spinnaker) I use camera (via flycapture component) texture via Spout.
Same problem here, I was able to make it all compile with some tweaks under vs2010 and of0.10 but something is wrong. The camera is actually acquiring images and the status light is correct but the texture is not allocated