From 95adca206aa7a15c2d465ac70001b48620dfe1e6 Mon Sep 17 00:00:00 2001 From: Josh Klontz Date: Wed, 2 Jan 2013 20:32:05 -0500 Subject: [PATCH] initial ipc wrapper work --- sdk/plugins/ipc2013.cmake | 8 ++++++++ sdk/plugins/ipc2013.cpp | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ share/openbr/cmake/FindIPC2013.cmake | 3 +++ 3 files changed, 62 insertions(+), 0 deletions(-) create mode 100644 sdk/plugins/ipc2013.cmake create mode 100644 sdk/plugins/ipc2013.cpp diff --git a/sdk/plugins/ipc2013.cmake b/sdk/plugins/ipc2013.cmake new file mode 100644 index 0000000..d764890 --- /dev/null +++ b/sdk/plugins/ipc2013.cmake @@ -0,0 +1,8 @@ +set(BR_WITH_IPC2013 OFF CACHE BOOL "Build with Intel Perceptual Computing SDK 2013") + +if(${BR_WITH_IPC2013}) + find_package(IPC2013 REQUIRED) + set(BR_THIRDPARTY_SRC ${BR_THIRDPARTY_SRC} plugins/ipc2013.cpp) + set(BR_THIRDPARTY_LIBS ${BR_THIRDPARTY_LIBS} ${IPC2013_LIBS}) + install(DIRECTORY ${IPC2013_DIR}/bin/x64/ DESTINATION bin) +endif() diff --git a/sdk/plugins/ipc2013.cpp b/sdk/plugins/ipc2013.cpp new file mode 100644 index 0000000..c000233 --- /dev/null +++ b/sdk/plugins/ipc2013.cpp @@ -0,0 +1,51 @@ +#include +#include +#include +#include +#include + +using namespace br; + +static PXCSession *pxcSession = NULL; +static PXCAccelerator *pxcAccelerator = NULL; + +/*! + * \ingroup initializers + * \brief Initializes Intel Perceptual Computing SDK 2013 + * \author Josh Klontz \cite jklontz + */ +class IPC2013Initializer : public Initializer +{ + void initialize() const + { + PXCSession_Create(&pxcSession); + pxcSession->CreateAccelerator(&pxcAccelerator); + } +}; + +BR_REGISTER(Initializer, IPC2013Initializer) + +/*! + * \ingroup transforms + * \brief Intel Perceptual Computing SDK 2013 Face Recognition + * \author Josh Klontz \cite jklontz + */ +class IPC2013FaceRecognitionTransfrom : public UntrainableTransform +{ + Q_OBJECT + + void project(const Template &src, Template &dst) const + { + PXCImage::ImageInfo pxcImageInfo; + pxcImageInfo.width = src.m().cols; + pxcImageInfo.height = src.m().rows; + pxcImageInfo.format = PXCImage::COLOR_FORMAT_RGB24; + + //PXCImage *pxcImage; + //pxcAccelerator->CreateImage(&pxcImageInfo, 0, src.m().data, &pxcImage); + } +}; + +BR_REGISTER(Transform, IPC2013FaceRecognitionTransfrom) + +#include "ipc2013.moc" diff --git a/share/openbr/cmake/FindIPC2013.cmake b/share/openbr/cmake/FindIPC2013.cmake index 7af3b69..abb9418 100644 --- a/share/openbr/cmake/FindIPC2013.cmake +++ b/share/openbr/cmake/FindIPC2013.cmake @@ -12,3 +12,6 @@ find_path(IPC2013_DIR include/pxcimage.h "C:/Program Files/Intel/PCSDK") include_directories(${IPC2013_DIR}/include) link_directories(${IPC2013_DIR}/lib/x64) set(IPC2013_LIBS libpxc) +if(MSVC) + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /NODEFAULTLIB:LIBCMT") +endif() -- libgit2 0.21.4