diff --git a/CMakeLists.txt b/CMakeLists.txt index 9d66373..384aaa0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ # -*-cmake-*- PROJECT(CSIRO-FaceAnalysis-SDK) -cmake_minimum_required(VERSION 2.8) +cmake_minimum_required(VERSION 3.1.0) #set(CMAKE_VERBOSE_MAKEFILE true) @@ -13,11 +13,17 @@ endif() # Configurable options OPTION(WITH_GUI "Build the GUI" OFF) -# Third party libraries -find_package(OpenCV REQUIRED core highgui imgproc objdetect - PATHS ${OpenCV_PREFIX}/lib/cmake/ - ${OpenCV_PREFIX}/share/OpenCV/ - NO_DEFAULT_PATH) # For some reason CMake uses its defaults before the above paths. +# # Third party libraries +# find_package(OpenCV REQUIRED core highgui imgproc objdetect +# PATHS ${OpenCV_PREFIX}/lib/cmake/ +# ${OpenCV_PREFIX}/share/OpenCV/ +# NO_DEFAULT_PATH) # For some reason CMake uses its defaults before the above paths. + +# opencv +set(OpenCV_DIR "" CACHE PATH "OpenCV root directory") +find_package(OpenCV REQUIRED) +include_directories(${OpenCV_INCLUDE_DIRS}) +# message("OpenCV_INCLUDE_DIRS = ${OpenCV_INCLUDE_DIRS}") IF(APPLE) find_library(FOUNDATION Foundation) diff --git a/src/display-tracking/main.cpp b/src/display-tracking/main.cpp index 9eed15d..9d0368d 100644 --- a/src/display-tracking/main.cpp +++ b/src/display-tracking/main.cpp @@ -21,7 +21,7 @@ #include "utils/command-line-arguments.hpp" #include "utils/points.hpp" #include -#include +#include void print_usage() diff --git a/src/expression-transfer/main.cpp b/src/expression-transfer/main.cpp index 75a66ff..3e9036f 100644 --- a/src/expression-transfer/main.cpp +++ b/src/expression-transfer/main.cpp @@ -209,7 +209,7 @@ run_program(int argc, char **argv) if (image_exists_p && landmarks_exists_p) { cv::Mat image_unknown = cv::imread(image_it->c_str()); - if (image_unknown.type() != cv::DataType >::type) + if (image_unknown.type() != CV_8UC3) throw make_runtime_error("This program only knows draw on 3 channel colour images. The file '%s' just doesn't satisfy this requirement. Sorry.", image_it->c_str()); cv::Mat_ > image = image_unknown; diff --git a/src/face-fit/main.cpp b/src/face-fit/main.cpp index b5b0deb..ef694ff 100644 --- a/src/face-fit/main.cpp +++ b/src/face-fit/main.cpp @@ -296,7 +296,7 @@ run_video_mode(const Configuration &cfg, } cv::Mat_ gray_image; - if (image.type() == cv::DataType >::type) + if (image.type() == CV_8UC3) cv::cvtColor(image, gray_image, CV_BGR2GRAY); else if (image.type() == cv::DataType::type) gray_image = image; @@ -414,13 +414,13 @@ display_data(const Configuration &cfg, cv::Scalar colour; if (image.type() == cv::DataType::type) colour = cv::Scalar(255); - else if (image.type() == cv::DataType >::type) + else if (image.type() == CV_8UC3) colour = cv::Scalar(0,0,255); else colour = cv::Scalar(255); cv::Mat displayed_image; - if (image.type() == cv::DataType >::type) + if (image.type() == CV_8UC3) displayed_image = image.clone(); else if (image.type() == cv::DataType::type) cv::cvtColor(image, displayed_image, CV_GRAY2BGR); diff --git a/src/qt-gui/CMakeLists.txt b/src/qt-gui/CMakeLists.txt index 8ddb0a4..a2432c2 100644 --- a/src/qt-gui/CMakeLists.txt +++ b/src/qt-gui/CMakeLists.txt @@ -1,39 +1,86 @@ # -*-cmake-*- -find_package(Qt4 REQUIRED) +# find_package(Qt4 REQUIRED) -INCLUDE( ${QT_USE_FILE} ) +# INCLUDE( ${QT_USE_FILE} ) + +# qt +set(QTDIR "" CACHE PATH "Qt5 directory") +set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ${QTDIR}) +find_package(Qt5Widgets CONFIG REQUIRED) +include_directories(${Qt5Widgets_INCLUDE_DIRS}) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTOUIC ON) +set(CMAKE_AUTORCC ON) + +# opencv +set(OpenCV_DIR "" CACHE PATH "OpenCV root directory") +find_package(OpenCV REQUIRED) +include_directories(${OpenCV_INCLUDE_DIRS}) +# message("OpenCV_INCLUDE_DIRS = ${OpenCV_INCLUDE_DIRS}") #set(CMAKE_VERBOSE_MAKEFILE true) SET(BundleName "qt-gui") -SET(guiFILES "application-states.cpp" - "controllers.cpp" - "configuration.cpp" - "gui/avatar-selection.cpp" - "gui/main-window.cpp" - "gui/avatar.cpp" - "gui/mesh-drawer.cpp" - "gui/graphics-scrollbar.cpp" - "gui/windowed-gui-controller.cpp" - "gui/item-controllers.cpp" - "gui/worker-thread.cpp" - "gui/item-positions-calculator.cpp" +SET(guiFILES + # "application-states.cpp" + # "controllers.cpp" + # "configuration.cpp" + # "gui/avatar-selection.cpp" + # "gui/main-window.cpp" + # "gui/avatar.cpp" + # "gui/mesh-drawer.cpp" + # "gui/graphics-scrollbar.cpp" + # "gui/windowed-gui-controller.cpp" + # "gui/item-controllers.cpp" + # "gui/worker-thread.cpp" + # "gui/item-positions-calculator.cpp" + + application-states.cpp + controllers.cpp + configuration.cpp + gui/main-window.cpp + gui/windowed-gui-controller.cpp + gui/item-controllers.cpp + gui/item-positions-calculator.cpp + gui/graphics-scrollbar.cpp + gui/avatar-selection.cpp + gui/avatar.cpp + gui/worker-thread.cpp + gui/mesh-drawer.cpp + + ../tracker/IO.cpp + ../tracker/CLM.cpp + ../tracker/FDet.cpp + ../tracker/Patch.cpp + ../tracker/ShapeModel.cpp + # ../tracker/PRA.cpp + # ../tracker/FacePredictor.cpp + ../tracker/ShapePredictor.cpp + ../tracker/ATM.cpp + ../tracker/Warp.cpp + ../tracker/FCheck.cpp + ../tracker/FaceTracker.cpp + ../tracker/myFaceTracker.cpp + ../tracker/RegistrationCheck.cpp + ../avatar/Avatar.cpp + ../avatar/myAvatar.cpp ) -SET(MOC_HEADERS - "controllers.hpp" - "gui/avatar-selection.hpp" - "gui/main-window.hpp" - "gui/avatar.hpp" -# "gui/mesh-drawer.hpp" - "gui/graphics-scrollbar.hpp" - "gui/windowed-gui-controller.hpp" - "gui/item-controllers.hpp" - "gui/worker-thread.hpp") -# "gui/item-positions-calculator.hpp") +# SET(MOC_HEADERS +# "controllers.hpp" +# "gui/avatar-selection.hpp" +# "gui/main-window.hpp" +# "gui/avatar.hpp" +# # "gui/mesh-drawer.hpp" +# "gui/graphics-scrollbar.hpp" +# "gui/windowed-gui-controller.hpp" +# "gui/item-controllers.hpp" +# "gui/worker-thread.hpp") +# # "gui/item-positions-calculator.hpp") -QT4_WRAP_CPP(MOC_SRCS ${MOC_HEADERS}) +# QT4_WRAP_CPP(MOC_SRCS ${MOC_HEADERS}) INCLUDE_DIRECTORIES(".") set_source_files_properties(osx-configuration.mm PROPERTIES COMPILE_FLAGS -ObjC++) @@ -45,7 +92,10 @@ add_executable(demo-application ${guiFILES} ${MOC_SRCS} ${EXTRA_SRC}) -target_link_libraries(demo-application ${LIBS} ${QT_LIBRARIES} clmTracker avatarAnim utilities ${EXTRA_LIBS}) +target_link_libraries(demo-application ${LIBS} + # ${QT_LIBRARIES} + Qt5::Widgets + clmTracker avatarAnim utilities ${EXTRA_LIBS}) # Apple Specific Targets @@ -65,7 +115,10 @@ ADD_EXECUTABLE(${BundleName} MACOSX_BUNDLE ${MOC_SRCS} ${EXTRA_SRC} ) -TARGET_LINK_LIBRARIES(${BundleName} ${LIBS} ${QT_LIBRARIES} clmTracker avatarAnim ${EXTRA_LIBS}) +TARGET_LINK_LIBRARIES(${BundleName} ${LIBS} + # ${QT_LIBRARIES} + Qt5::Widgets + clmTracker avatarAnim ${EXTRA_LIBS}) # IF(APPLE) diff --git a/src/qt-gui/controllers.hpp b/src/qt-gui/controllers.hpp index cb9c4ee..02e22ff 100644 --- a/src/qt-gui/controllers.hpp +++ b/src/qt-gui/controllers.hpp @@ -21,7 +21,7 @@ #define _CI2CV_GUI_GUI_CONTROLLER_HPP_ #include -#include +#include #include namespace CI2CVGui diff --git a/src/qt-gui/gui/avatar-selection.cpp b/src/qt-gui/gui/avatar-selection.cpp index b4ddf54..67bc4bd 100644 --- a/src/qt-gui/gui/avatar-selection.cpp +++ b/src/qt-gui/gui/avatar-selection.cpp @@ -20,8 +20,8 @@ #include "gui/avatar-selection.hpp" #include "controllers.hpp" -#include -#include +#include +#include using namespace CI2CVGui; diff --git a/src/qt-gui/gui/avatar-selection.hpp b/src/qt-gui/gui/avatar-selection.hpp index 836c78a..9004847 100644 --- a/src/qt-gui/gui/avatar-selection.hpp +++ b/src/qt-gui/gui/avatar-selection.hpp @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include "gui/graphics-scrollbar.hpp" diff --git a/src/qt-gui/gui/avatar.cpp b/src/qt-gui/gui/avatar.cpp index a0884ec..7b606f2 100644 --- a/src/qt-gui/gui/avatar.cpp +++ b/src/qt-gui/gui/avatar.cpp @@ -20,7 +20,7 @@ #include "gui/avatar.hpp" #include -#include +#include #include "gui/worker-thread.hpp" #include "configuration.hpp" diff --git a/src/qt-gui/gui/graphics-scrollbar.cpp b/src/qt-gui/gui/graphics-scrollbar.cpp index 36bb9d6..d875772 100644 --- a/src/qt-gui/gui/graphics-scrollbar.cpp +++ b/src/qt-gui/gui/graphics-scrollbar.cpp @@ -19,8 +19,8 @@ #include "gui/graphics-scrollbar.hpp" #include -#include -#include +#include +#include using namespace CI2CVGui; diff --git a/src/qt-gui/gui/graphics-scrollbar.hpp b/src/qt-gui/gui/graphics-scrollbar.hpp index 601f302..d46cf3b 100644 --- a/src/qt-gui/gui/graphics-scrollbar.hpp +++ b/src/qt-gui/gui/graphics-scrollbar.hpp @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include diff --git a/src/qt-gui/gui/item-controllers.cpp b/src/qt-gui/gui/item-controllers.cpp index 8c54d57..83a8ca2 100644 --- a/src/qt-gui/gui/item-controllers.cpp +++ b/src/qt-gui/gui/item-controllers.cpp @@ -19,7 +19,7 @@ #include "gui/item-controllers.hpp" #include -#include +#include #include "gui/avatar-selection.hpp" #include "gui/mesh-drawer.hpp" #include "controllers.hpp" diff --git a/src/qt-gui/gui/item-controllers.hpp b/src/qt-gui/gui/item-controllers.hpp index d103aee..c9613eb 100644 --- a/src/qt-gui/gui/item-controllers.hpp +++ b/src/qt-gui/gui/item-controllers.hpp @@ -21,8 +21,8 @@ #define _CI2CV_GUI_GUI_ITEM_POSITIONERS_HPP_ #include -#include -#include +#include +#include #include diff --git a/src/qt-gui/gui/item-positions-calculator.cpp b/src/qt-gui/gui/item-positions-calculator.cpp index ae84ed3..a57db65 100644 --- a/src/qt-gui/gui/item-positions-calculator.cpp +++ b/src/qt-gui/gui/item-positions-calculator.cpp @@ -20,7 +20,7 @@ #include "gui/item-positions-calculator.hpp" #include "gui/windowed-gui-controller.hpp" -#include +#include using namespace CI2CVGui; diff --git a/src/qt-gui/gui/main-window.cpp b/src/qt-gui/gui/main-window.cpp index a1e4d64..effb94b 100644 --- a/src/qt-gui/gui/main-window.cpp +++ b/src/qt-gui/gui/main-window.cpp @@ -24,12 +24,12 @@ #include "gui/mesh-drawer.hpp" #include "configuration.hpp" -#include +#include #include -#include -#include -#include -#include +#include +#include +#include +#include using namespace CI2CVGui; diff --git a/src/qt-gui/gui/main-window.hpp b/src/qt-gui/gui/main-window.hpp index 99eea1f..5534191 100644 --- a/src/qt-gui/gui/main-window.hpp +++ b/src/qt-gui/gui/main-window.hpp @@ -20,13 +20,13 @@ #ifndef _CI2CV_GUI_GUI_MAIN_WINDOW_HPP_ #define _CI2CV_GUI_GUI_MAIN_WINDOW_HPP_ -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include #include "gui/item-controllers.hpp" diff --git a/src/qt-gui/gui/mesh-drawer.cpp b/src/qt-gui/gui/mesh-drawer.cpp index 23b01a7..c215354 100644 --- a/src/qt-gui/gui/mesh-drawer.cpp +++ b/src/qt-gui/gui/mesh-drawer.cpp @@ -20,8 +20,8 @@ #include "gui/mesh-drawer.hpp" #include "controllers.hpp" -#include -#include +#include +#include using namespace CI2CVGui; diff --git a/src/qt-gui/gui/mesh-drawer.hpp b/src/qt-gui/gui/mesh-drawer.hpp index 2ca14af..4c36ecc 100644 --- a/src/qt-gui/gui/mesh-drawer.hpp +++ b/src/qt-gui/gui/mesh-drawer.hpp @@ -20,7 +20,7 @@ #ifndef _CI2CV_GUI_GUI_MESH_DRAWER_HPP_ #define _CI2CV_GUI_GUI_MESH_DRAWER_HPP_ -#include +#include #include #include #include diff --git a/src/qt-gui/gui/windowed-gui-controller.cpp b/src/qt-gui/gui/windowed-gui-controller.cpp index bd3ded2..5bd4916 100644 --- a/src/qt-gui/gui/windowed-gui-controller.cpp +++ b/src/qt-gui/gui/windowed-gui-controller.cpp @@ -19,7 +19,7 @@ #include "gui/windowed-gui-controller.hpp" -#include +#include #include #include "gui/worker-thread.hpp" #include "configuration.hpp" diff --git a/src/qt-gui/gui/windowed-gui-controller.hpp b/src/qt-gui/gui/windowed-gui-controller.hpp index 0f2b250..52f83b7 100644 --- a/src/qt-gui/gui/windowed-gui-controller.hpp +++ b/src/qt-gui/gui/windowed-gui-controller.hpp @@ -20,11 +20,11 @@ #ifndef _CI2CV_GUI_GUI_WINDOWED_GUI_CONTROLLER_HPP_ #define _CI2CV_GUI_GUI_WINDOWED_GUI_CONTROLLER_HPP_ -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include "controllers.hpp" #include "gui/item-controllers.hpp" diff --git a/src/qt-gui/gui/worker-thread.cpp b/src/qt-gui/gui/worker-thread.cpp index 880565d..0a117d4 100644 --- a/src/qt-gui/gui/worker-thread.cpp +++ b/src/qt-gui/gui/worker-thread.cpp @@ -20,7 +20,7 @@ #include "gui/worker-thread.hpp" #include -#include +#include #include #include diff --git a/src/qt-gui/gui/worker-thread.hpp b/src/qt-gui/gui/worker-thread.hpp index 289991d..b6573c3 100644 --- a/src/qt-gui/gui/worker-thread.hpp +++ b/src/qt-gui/gui/worker-thread.hpp @@ -25,9 +25,9 @@ #include #include -#include -#include -#include +#include +#include +#include namespace CI2CVGui { class WorkerThreadCameraController : public CameraController diff --git a/src/qt-gui/main.cpp b/src/qt-gui/main.cpp index ab2c6eb..a90a3f9 100644 --- a/src/qt-gui/main.cpp +++ b/src/qt-gui/main.cpp @@ -18,9 +18,9 @@ // Copyright CSIRO 2013 #include -#include +#include #include -#include +#include #include #include diff --git a/src/qt-gui/osx-configuration.mm b/src/qt-gui/osx-configuration.mm index 2e3e1f6..ebbe81e 100644 --- a/src/qt-gui/osx-configuration.mm +++ b/src/qt-gui/osx-configuration.mm @@ -22,7 +22,7 @@ #include #include #include -#include +#include #include "osx-configuration.hpp" diff --git a/src/tracker/ATM.hpp b/src/tracker/ATM.hpp index c873081..dad9e9f 100644 --- a/src/tracker/ATM.hpp +++ b/src/tracker/ATM.hpp @@ -21,6 +21,7 @@ #define _TRACKER_ATM_h_ #include #include +#include #include namespace FACETRACKER { diff --git a/src/tracker/CLM.hpp b/src/tracker/CLM.hpp index 5a3aae4..8d8a7f4 100644 --- a/src/tracker/CLM.hpp +++ b/src/tracker/CLM.hpp @@ -22,6 +22,7 @@ #include #include #include +#include #include namespace FACETRACKER { diff --git a/src/tracker/Detector.cpp b/src/tracker/Detector.cpp index c5cf1c2..8ce6419 100644 --- a/src/tracker/Detector.cpp +++ b/src/tracker/Detector.cpp @@ -17,7 +17,7 @@ // Copyright CSIRO 2013 -#include +#include #include "Detector.hpp" #include "IO.hpp" diff --git a/src/tracker/Detector.hpp b/src/tracker/Detector.hpp index 22f6ae2..e0ebcc7 100644 --- a/src/tracker/Detector.hpp +++ b/src/tracker/Detector.hpp @@ -20,7 +20,7 @@ #ifndef DETECTOR_CLASS_HPP_ #define DETECTOR_CLASS_HPP_ -#include +#include #include #define DETECTOR_BAD_RESPONSE -.001 diff --git a/src/tracker/FCheck.hpp b/src/tracker/FCheck.hpp index 0ccb47b..8d5a8c9 100644 --- a/src/tracker/FCheck.hpp +++ b/src/tracker/FCheck.hpp @@ -20,6 +20,7 @@ #ifndef _TRACKER_FCheck_h_ #define _TRACKER_FCheck_h_ #include +#include #include namespace FACETRACKER { diff --git a/src/tracker/FDet.cpp b/src/tracker/FDet.cpp index 7940430..419d7a8 100644 --- a/src/tracker/FDet.cpp +++ b/src/tracker/FDet.cpp @@ -18,6 +18,7 @@ // Copyright CSIRO 2013 #include +#include using namespace FACETRACKER; using namespace std; #define TSCALE 0.3 diff --git a/src/tracker/FDet.hpp b/src/tracker/FDet.hpp index e59c8af..146c4e5 100644 --- a/src/tracker/FDet.hpp +++ b/src/tracker/FDet.hpp @@ -20,6 +20,7 @@ #ifndef _TRACKER_FDet_h_ #define _TRACKER_FDet_h_ #include +#include namespace FACETRACKER { //=========================================================================== diff --git a/src/tracker/FaceTracker.hpp b/src/tracker/FaceTracker.hpp index 7b50459..87c39c4 100644 --- a/src/tracker/FaceTracker.hpp +++ b/src/tracker/FaceTracker.hpp @@ -20,6 +20,7 @@ #ifndef _TRACKER_FaceTracker_h_ #define _TRACKER_FaceTracker_h_ #include +#include namespace FACETRACKER { //============================================================================ diff --git a/src/tracker/IO.cpp b/src/tracker/IO.cpp index d6d3519..667cf6d 100644 --- a/src/tracker/IO.cpp +++ b/src/tracker/IO.cpp @@ -237,7 +237,7 @@ void IOBinary::ReadMat(std::ifstream &s, cv::Mat &M) s.read((char*)&c, sizeof(int)); s.read((char*)&t, sizeof(int)); M = cv::Mat(r,c,t); - s.read(reinterpret_cast(M.datastart), M.total()*M.elemSize()); + s.read((char*)(M.data), M.total()*M.elemSize()); if(!s.good()){ std::cout << "Error reading matrix" << std::endl; @@ -254,7 +254,7 @@ void IOBinary::WriteMat(std::ofstream &s, cv::Mat &M) s.write(reinterpret_cast(&M.cols), sizeof(int)); s.write(reinterpret_cast(&t), sizeof(int)); // s << M.rows << " " << M.cols << " " << M.type(); - s.write(reinterpret_cast(M.datastart), M.total()*M.elemSize()); + s.write((char*)(M.data), M.total()*M.elemSize()); // std::cout << "Mat written: "<< M.rows << "x"<< M.cols << ", type " << M.type() << std::endl; diff --git a/src/tracker/IO.hpp b/src/tracker/IO.hpp index 25fe1cb..07cb560 100644 --- a/src/tracker/IO.hpp +++ b/src/tracker/IO.hpp @@ -22,6 +22,7 @@ #include #include #include +#include namespace FACETRACKER { //=========================================================================== diff --git a/src/tracker/Patch.hpp b/src/tracker/Patch.hpp index eebad36..5006b30 100644 --- a/src/tracker/Patch.hpp +++ b/src/tracker/Patch.hpp @@ -20,6 +20,7 @@ #ifndef _TRACKER_Patch_h_ #define _TRACKER_Patch_h_ #include +#include namespace FACETRACKER { //=========================================================================== diff --git a/src/tracker/RegistrationCheck.hpp b/src/tracker/RegistrationCheck.hpp index 5ffb3ad..d9b2fc7 100644 --- a/src/tracker/RegistrationCheck.hpp +++ b/src/tracker/RegistrationCheck.hpp @@ -20,6 +20,7 @@ #ifndef _TRACKER_RegistrationCheck_h_ #define _TRACKER_RegistrationCheck_h_ #include +#include #include namespace FACETRACKER { diff --git a/src/tracker/ShapeModel.hpp b/src/tracker/ShapeModel.hpp index a0e5970..6fe92f9 100644 --- a/src/tracker/ShapeModel.hpp +++ b/src/tracker/ShapeModel.hpp @@ -20,6 +20,7 @@ #ifndef _TRACKER_ShapeModel_h_ #define _TRACKER_ShapeModel_h_ #include +#include namespace FACETRACKER { //=========================================================================== diff --git a/src/tracker/ShapePredictor.hpp b/src/tracker/ShapePredictor.hpp index 0456ddd..b382452 100644 --- a/src/tracker/ShapePredictor.hpp +++ b/src/tracker/ShapePredictor.hpp @@ -21,6 +21,7 @@ #define _TRACKER_ShapePredictor_h_ #include #include +#include namespace FACETRACKER { //=========================================================================== diff --git a/src/tracker/Warp.hpp b/src/tracker/Warp.hpp index acb9bb3..f3004df 100644 --- a/src/tracker/Warp.hpp +++ b/src/tracker/Warp.hpp @@ -20,6 +20,7 @@ #ifndef _TRACKER_Warp_h_ #define _TRACKER_Warp_h_ #include +#include namespace FACETRACKER { //=========================================================================== diff --git a/src/tracker/myFaceTracker.hpp b/src/tracker/myFaceTracker.hpp index 35e1327..29fcae4 100644 --- a/src/tracker/myFaceTracker.hpp +++ b/src/tracker/myFaceTracker.hpp @@ -26,6 +26,7 @@ #include #include #include +#include namespace FACETRACKER { //============================================================================