Browse Source

Fix Windows compilation.

EMGUCV_3_4_2
Canming Huang 7 years ago
parent
commit
74fbddb381
  1. 7
      Emgu.CV.Contrib/Face/IFacemark.cs
  2. 2
      Emgu.CV.Extern/CMakeLists.txt
  3. 2
      Emgu.CV.Extern/cvblob/libcvblob
  4. 10
      Emgu.CV.Extern/face/face_c.cpp
  5. 8
      Emgu.CV.Extern/face/face_c.h
  6. 2
      opencv

7
Emgu.CV.Contrib/Face/IFacemark.cs

@ -28,6 +28,7 @@ namespace Emgu.CV.Face
public static partial class FaceInvoke
{
/*
/// <summary>
/// Set a user defined face detector for the Facemark algorithm.
/// </summary>
@ -52,7 +53,7 @@ namespace Emgu.CV.Face
[DllImport(CvInvoke.ExternLibrary, CallingConvention = CvInvoke.CvCallingConvention)]
[return: MarshalAs(CvInvoke.BoolMarshalType)]
internal extern static bool cveFacemarkSetFaceDetector(IntPtr facemark, FaceDetectNative detector);
*/
/// <summary>
/// A function to load the trained model before the fitting process.
/// </summary>
@ -68,6 +69,7 @@ namespace Emgu.CV.Face
[DllImport(CvInvoke.ExternLibrary, CallingConvention = CvInvoke.CvCallingConvention)]
internal extern static void cveFacemarkLoadModel(IntPtr facemark, IntPtr model);
/*
/// <summary>
/// Default face detector This function is mainly utilized by the implementation of a Facemark Algorithm.
/// </summary>
@ -86,6 +88,7 @@ namespace Emgu.CV.Face
[DllImport(CvInvoke.ExternLibrary, CallingConvention = CvInvoke.CvCallingConvention)]
[return: MarshalAs(CvInvoke.BoolMarshalType)]
internal extern static bool cveFacemarkGetFaces(IntPtr facemark, IntPtr image, IntPtr faces);
*/
/// <summary>
/// Trains a Facemark algorithm using the given dataset.
@ -125,6 +128,7 @@ namespace Emgu.CV.Face
[DllImport(CvInvoke.ExternLibrary, CallingConvention = CvInvoke.CvCallingConvention)]
internal extern static void cveDrawFacemarks(IntPtr image, IntPtr points, ref MCvScalar color);
/*
/// <summary>
/// Add one training sample to the trainer.
/// </summary>
@ -154,5 +158,6 @@ namespace Emgu.CV.Face
}
[DllImport(CvInvoke.ExternLibrary, CallingConvention = CvInvoke.CvCallingConvention)]
internal extern static void cveFacemarkTraining(IntPtr facemark);
*/
}
}

2
Emgu.CV.Extern/CMakeLists.txt

@ -2263,7 +2263,7 @@ if(WITH_TIFF AND BUILD_TIFF)
endif()
if(WITH_JPEG AND BUILD_JPEG)
target_link_libraries(${the_target} libjpeg)
target_link_libraries(${the_target} libjpeg-turbo)
endif()
# Add the required libraries for linking:

2
Emgu.CV.Extern/cvblob/libcvblob

@ -1 +1 @@
Subproject commit bea27d2347233d4c92db14739191ebc922b7cbe9
Subproject commit ef99c61d5206e9ffbc059121fb44c775d2f2cddf

10
Emgu.CV.Extern/face/face_c.cpp

@ -152,7 +152,7 @@ void cveFacemarkKazemiRelease(cv::face::FacemarkKazemi** facemark)
delete *facemark;
*facemark = 0;
}
*/
typedef struct
{
@ -170,20 +170,22 @@ bool cveFacemarkSetFaceDetector(cv::face::Facemark* facemark, CSharp_FaceDetecto
detector_pointer.face_detector_func = detector;
return facemark->setFaceDetector((cv::face::FN_FaceDetector) myDetector, &detector_pointer);
}
*/
void cveFacemarkLoadModel(cv::face::Facemark* facemark, cv::String* model)
{
facemark->loadModel(*model);
}
/*
bool cveFacemarkGetFaces(cv::face::Facemark* facemark, cv::_InputArray* image, cv::_OutputArray* faces)
{
return facemark->getFaces(*image, *faces);
}
}*/
bool cveFacemarkFit(cv::face::Facemark* facemark, cv::_InputArray* image, cv::_InputArray* faces, cv::_InputOutputArray* landmarks)
{
return facemark->fit(*image, *faces, *landmarks);
}
/*
bool cveFacemarkAddTrainingSample(cv::face::Facemark* facemark, cv::_InputArray* image, cv::_InputArray* landmarks)
{
return facemark->addTrainingSample(*image, *landmarks);
@ -191,7 +193,7 @@ bool cveFacemarkAddTrainingSample(cv::face::Facemark* facemark, cv::_InputArray*
void cveFacemarkTraining(cv::face::Facemark* facemark)
{
facemark->training();
}
}*/
void cveDrawFacemarks(cv::_InputOutputArray* image, cv::_InputArray* points, CvScalar* color)

8
Emgu.CV.Extern/face/face_c.h

@ -47,16 +47,16 @@ CVAPI(void) cveFacemarkKazemiParamsRelease(cv::face::FacemarkKazemi::Params** pa
CVAPI(cv::face::FacemarkKazemi*) cveFacemarkKazemiCreate(cv::face::FacemarkKazemi::Params* parameters, cv::face::Facemark** facemark, cv::Algorithm** algorithm);
CVAPI(void) cveFacemarkKazemiRelease(cv::face::FacemarkKazemi** facemark);
*/
typedef bool(*CSharp_FaceDetector)(const cv::_InputArray*, const cv::_OutputArray*);
CVAPI(bool) cveFacemarkSetFaceDetector(cv::face::Facemark* facemark, CSharp_FaceDetector detector);
*/
CVAPI(void) cveFacemarkLoadModel(cv::face::Facemark* facemark, cv::String* model);
CVAPI(bool) cveFacemarkGetFaces(cv::face::Facemark* facemark, cv::_InputArray* image, cv::_OutputArray* faces);
//CVAPI(bool) cveFacemarkGetFaces(cv::face::Facemark* facemark, cv::_InputArray* image, cv::_OutputArray* faces);
CVAPI(bool) cveFacemarkFit(cv::face::Facemark* facemark, cv::_InputArray* image, cv::_InputArray* faces, cv::_InputOutputArray* landmarks);
CVAPI(bool) cveFacemarkAddTrainingSample(cv::face::Facemark* facemark, cv::_InputArray* image, cv::_InputArray* landmarks);
CVAPI(void) cveFacemarkTraining(cv::face::Facemark* facemark);
//CVAPI(bool) cveFacemarkAddTrainingSample(cv::face::Facemark* facemark, cv::_InputArray* image, cv::_InputArray* landmarks);
//CVAPI(void) cveFacemarkTraining(cv::face::Facemark* facemark);
CVAPI(void) cveDrawFacemarks(cv::_InputOutputArray* image, cv::_InputArray* points, CvScalar* color);
#endif

2
opencv

@ -1 +1 @@
Subproject commit 2601e1883dec59a1cc4af5d373e47860d3eda0ba
Subproject commit 369ab26292a297584b485ea84ff1b6128f450697
Loading…
Cancel
Save