beginning to integrate dviid's code
This commit is contained in:
parent
877123a2db
commit
327830a581
@ -27,8 +27,10 @@
|
||||
#define ISTATE_TRANSITION 0xCCCC
|
||||
#define ISTATE_END 0xDDDD
|
||||
|
||||
|
||||
int _state = ISTATE_UNDEF;
|
||||
|
||||
int RefractiveIndex::_mode;
|
||||
ofPixels RefractiveIndex::_pixels;
|
||||
ofVideoGrabber RefractiveIndex::_vidGrabber;
|
||||
int RefractiveIndex::_vid_w, RefractiveIndex::_vid_h, RefractiveIndex::_vid_id;
|
||||
@ -50,6 +52,10 @@ void RefractiveIndex::setup()
|
||||
XML.loadFile("config.refindx");
|
||||
}
|
||||
|
||||
// <mode>
|
||||
string m = XML.getValue("config:mode", "analysing");
|
||||
_mode = (m == "analysing" ? MODE_ANALYSING : (m == "drawing" ? MODE_DRAWING : MODE_ANALYSING));
|
||||
|
||||
// <camera>
|
||||
_vid_id = XML.getValue("config:camera:id", CAMERA_ID);
|
||||
cout << "_vid_id: " << _vid_id << endl;
|
||||
@ -82,8 +88,10 @@ void RefractiveIndex::setup()
|
||||
cout << "* cam width = " << _vid_w << endl;
|
||||
cout << "* cam height = " << _vid_h << endl;
|
||||
|
||||
if(_mode == MODE_ANALYSING) {
|
||||
_vid_stream_open = false;
|
||||
setup_camera();
|
||||
}
|
||||
|
||||
cout << "RRRRRREADY!" << endl;
|
||||
|
||||
@ -173,9 +181,13 @@ void RefractiveIndex::state_analysis()
|
||||
break;
|
||||
case ISTATE_STOP:
|
||||
stop_analysis(); // blocking
|
||||
if(_mode == MODE_DRAWING)
|
||||
_state = ISTATE_UNDEF;
|
||||
else
|
||||
_state = ISTATE_TRANSITION;
|
||||
break;
|
||||
case ISTATE_END:
|
||||
if(_mode == MODE_ANALYSING)
|
||||
stop_camera();
|
||||
::exit(1);
|
||||
break;
|
||||
@ -354,41 +366,41 @@ void RefractiveIndex::keyPressed (int key)
|
||||
TO DO: add a file dialog so we can save images to another hard drive...
|
||||
e.g.: http://dev.openframeworks.cc/pipermail/of-dev-openframeworks.cc/2011-April/003125.html
|
||||
|
||||
>> case 's':
|
||||
>> doSave ^= true;
|
||||
>> doLoad = false;
|
||||
>> if(doSave) {
|
||||
>> ofFileDialogResult r = ofSystemLoadDialog("Select path to save to", true);
|
||||
>> if(r.bSuccess) {
|
||||
>> saveCounter = 0;
|
||||
>> savePath = r.getPath();
|
||||
>> ofDirectory::createDirectory(savePath + "/color/");
|
||||
>> ofDirectory::createDirectory(savePath + "/depth/");
|
||||
>> printf("SAVE %s %s\n", r.getPath().c_str(), r.getName().c_str());
|
||||
>> } else {
|
||||
>> doSave = false;
|
||||
>> }
|
||||
>>
|
||||
>> }
|
||||
>> break;
|
||||
>>
|
||||
>> case 'l':
|
||||
>> doLoad ^= true;
|
||||
>> doSave = false;
|
||||
>> if(doLoad) {
|
||||
>> ofFileDialogResult r = ofSystemLoadDialog("Select path to load from", true);
|
||||
>> if(r.bSuccess) {
|
||||
>> loadCounter = 0;
|
||||
>> loadPath = r.getPath();
|
||||
>> ofDirectory dir;
|
||||
>> loadMaxFiles = MAX(dir.listDir(loadPath + "/color"), dir.listDir(loadPath + "/depth"));
|
||||
>> printf("LOAD %i %s %s\n", loadMaxFiles, r.getPath().c_str(), r.getName().c_str());
|
||||
>> } else {
|
||||
>> doLoad = false;
|
||||
>> }
|
||||
>>
|
||||
>> }
|
||||
>> break;
|
||||
>> case 's':
|
||||
>> doSave ^= true;
|
||||
>> doLoad = false;
|
||||
>> if(doSave) {
|
||||
>> ofFileDialogResult r = ofSystemLoadDialog("Select path to save to", true);
|
||||
>> if(r.bSuccess) {
|
||||
>> saveCounter = 0;
|
||||
>> savePath = r.getPath();
|
||||
>> ofDirectory::createDirectory(savePath + "/color/");
|
||||
>> ofDirectory::createDirectory(savePath + "/depth/");
|
||||
>> printf("SAVE %s %s\n", r.getPath().c_str(), r.getName().c_str());
|
||||
>> } else {
|
||||
>> doSave = false;
|
||||
>> }
|
||||
>>
|
||||
>> }
|
||||
>> break;
|
||||
>>
|
||||
>> case 'l':
|
||||
>> doLoad ^= true;
|
||||
>> doSave = false;
|
||||
>> if(doLoad) {
|
||||
>> ofFileDialogResult r = ofSystemLoadDialog("Select path to load from", true);
|
||||
>> if(r.bSuccess) {
|
||||
>> loadCounter = 0;
|
||||
>> loadPath = r.getPath();
|
||||
>> ofDirectory dir;
|
||||
>> loadMaxFiles = MAX(dir.listDir(loadPath + "/color"), dir.listDir(loadPath + "/depth"));
|
||||
>> printf("LOAD %i %s %s\n", loadMaxFiles, r.getPath().c_str(), r.getName().c_str());
|
||||
>> } else {
|
||||
>> doLoad = false;
|
||||
>> }
|
||||
>>
|
||||
>> }
|
||||
>> break;
|
||||
*/
|
||||
|
||||
|
||||
|
||||
@ -11,6 +11,9 @@
|
||||
#include "ofxOpenCv.h"
|
||||
#include "ofxXmlSettings.h"
|
||||
|
||||
#define MODE_DRAWING 0xEEFF
|
||||
#define MODE_ANALYSING 0xFFEE
|
||||
|
||||
class RefractiveIndex : public ofBaseApp
|
||||
{
|
||||
public:
|
||||
@ -55,6 +58,8 @@ public:
|
||||
// acquisition
|
||||
static ofPixels _pixels;
|
||||
static ofVideoGrabber _vidGrabber;
|
||||
static int _mode;
|
||||
|
||||
vector<string> videoSourceList;
|
||||
static int _vid_w, _vid_h, _vid_id;
|
||||
static bool _vid_stream_open;
|
||||
|
||||
@ -525,6 +525,7 @@ void ColorSingleAnalysis::draw()
|
||||
}
|
||||
}
|
||||
|
||||
//this is where we save the full-frame software output to file... after the vectors, etc. are rendered...
|
||||
//saveImageSynthesis(file_name, &cvColorImage1, OF_IMAGE_COLOR);
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user