Skip to content

Commit

Permalink
src/IFaceTracker re-org
Browse files Browse the repository at this point in the history
Add OpenFaceTracker.*
  • Loading branch information
vinjn committed Oct 17, 2017
1 parent 80a8f86 commit 2e997b5
Show file tree
Hide file tree
Showing 10 changed files with 616 additions and 538 deletions.
37 changes: 37 additions & 0 deletions src/BaseFaceTracker.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#include "BaseFaceTracker.h"
#include "JasonFaceTracker.h"
#include "OpenFaceTracker.h"

namespace jing
{
using namespace std;
using namespace ci;

BaseFaceTrackerRef BaseFaceTracker::create(Option option)
{
BaseFaceTracker* tracker = nullptr;

if (option.method == "JasonFaceTracker")
{
auto ciTracker = new ciFaceTracker;
ciTracker->setRescale(option.scale);

tracker = ciTracker;
}
else if (option.method == "OpenFaceTracker")
{
auto openFaceTracker = new OpenFaceTracker;

tracker = openFaceTracker;
}
else
{
throw ci::Exception("Unknown method");
}

auto trackerRef = BaseFaceTrackerRef(tracker);
trackerRef->setup();

return trackerRef;
}
}
10 changes: 5 additions & 5 deletions src/IFaceTracker/IFaceTracker.h → src/BaseFaceTracker.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,25 @@
#include <cinder/Surface.h>
#include "cinder/TriMesh.h"

namespace ft
namespace jing
{
typedef std::shared_ptr<struct IFaceTracker> FaceTrackerRef;
typedef std::shared_ptr<struct BaseFaceTracker> BaseFaceTrackerRef;

struct Option
{
Option()
{
method = "jason_saragih_tracker";
method = "JasonFaceTracker";
scale = 1.0f;
}

std::string method;
float scale;
};

struct IFaceTracker
struct BaseFaceTracker
{
static FaceTrackerRef create(Option option = Option());
static BaseFaceTrackerRef create(Option option = Option());
virtual bool update(const ci::Surface& surface) = 0;
virtual void reset() = 0;
virtual int size() const = 0;
Expand Down
12 changes: 6 additions & 6 deletions src/FaceVFXApp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
#include "cinder/qtime/QuickTimeGl.h"
#endif

#include "IFaceTracker/IFaceTracker.h"
#include "BaseFaceTracker.h"

#include "Cinder-VNM/include/TextureHelper.h"
#include "Cinder-VNM/include/CaptureHelper.h"
Expand Down Expand Up @@ -121,8 +121,8 @@ class FaceOff : public App

TriMesh mFaceMesh;

ft::FaceTrackerRef mOnlineTracker;
ft::FaceTrackerRef mOfflineTracker;
jing::BaseFaceTrackerRef mOnlineTracker;
jing::BaseFaceTrackerRef mOfflineTracker;
gl::TextureRef mPhotoTex;

#ifdef QUICKTIME_ENABLED
Expand Down Expand Up @@ -186,10 +186,10 @@ void FaceOff::updateClone()

void FaceOff::trackerThreadFn()
{
ft::Option option;
jing::Option option;
option.scale = 0.5f;
mOfflineTracker = ft::IFaceTracker::create();
mOnlineTracker = ft::IFaceTracker::create(option);
mOfflineTracker = jing::BaseFaceTracker::create();
mOnlineTracker = jing::BaseFaceTracker::create(option);

bool shouldInitFaceMesh = false;

Expand Down
30 changes: 0 additions & 30 deletions src/IFaceTracker/IFaceTracker.cpp

This file was deleted.

Loading

0 comments on commit 2e997b5

Please sign in to comment.