mirror of https://github.com/davisking/dlib.git
merged
This commit is contained in:
commit
5e4350ca93
|
@ -16,6 +16,7 @@ set(CPACK_PACKAGE_VERSION_MAJOR "18")
|
||||||
set(CPACK_PACKAGE_VERSION_MINOR "18")
|
set(CPACK_PACKAGE_VERSION_MINOR "18")
|
||||||
set(CPACK_PACKAGE_VERSION_PATCH "99")
|
set(CPACK_PACKAGE_VERSION_PATCH "99")
|
||||||
set(VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH})
|
set(VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH})
|
||||||
|
set(DLIB_VERSION ${VERSION} PARENT_SCOPE)
|
||||||
|
|
||||||
set(CMAKE_LEGACY_CYGWIN_WIN32 0) # Remove when CMake >= 2.8.4 is required
|
set(CMAKE_LEGACY_CYGWIN_WIN32 0) # Remove when CMake >= 2.8.4 is required
|
||||||
# Suppress cmake warnings about changes in new versions.
|
# Suppress cmake warnings about changes in new versions.
|
||||||
|
|
|
@ -195,6 +195,19 @@ namespace dlib
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool operator== (
|
||||||
|
const drectangle& rect
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
return (l == rect.l) && (t == rect.t) && (r == rect.r) && (b == rect.b);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool operator!= (
|
||||||
|
const drectangle& rect
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
return !(*this == rect);
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
double l;
|
double l;
|
||||||
|
|
|
@ -319,6 +319,25 @@ namespace dlib
|
||||||
- returns #*this
|
- returns #*this
|
||||||
!*/
|
!*/
|
||||||
|
|
||||||
|
bool operator== (
|
||||||
|
const drectangle& rect
|
||||||
|
) const;
|
||||||
|
/*!
|
||||||
|
ensures
|
||||||
|
- if (top() == rect.top() && left() == rect.left() &&
|
||||||
|
right() == rect.right() && bottom() == rect.bottom()) then
|
||||||
|
- returns true
|
||||||
|
- else
|
||||||
|
- returns false
|
||||||
|
!*/
|
||||||
|
|
||||||
|
bool operator!= (
|
||||||
|
const drectangle& rect
|
||||||
|
) const;
|
||||||
|
/*!
|
||||||
|
ensures
|
||||||
|
- returns !(*this == rect)
|
||||||
|
!*/
|
||||||
};
|
};
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
// Don't warn about the use of std::auto_ptr in this file. There is a pragma at the end of
|
// Don't warn about the use of std::auto_ptr in this file. There is a pragma at the end of
|
||||||
// this file that re-enables the warning.
|
// this file that re-enables the warning.
|
||||||
#ifdef __GNUC__
|
#if defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 6
|
||||||
#pragma GCC diagnostic push
|
#pragma GCC diagnostic push
|
||||||
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
||||||
#endif
|
#endif
|
||||||
|
@ -527,7 +527,7 @@ namespace dlib
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#if defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 6
|
||||||
#pragma GCC diagnostic pop
|
#pragma GCC diagnostic pop
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
// Don't warn about the use of std::auto_ptr in this file. There is a pragma at the end of
|
// Don't warn about the use of std::auto_ptr in this file. There is a pragma at the end of
|
||||||
// this file that re-enables the warning.
|
// this file that re-enables the warning.
|
||||||
#ifdef __GNUC__
|
#if defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 6
|
||||||
#pragma GCC diagnostic push
|
#pragma GCC diagnostic push
|
||||||
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
||||||
#endif
|
#endif
|
||||||
|
@ -497,7 +497,7 @@ namespace dlib
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#if defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 6
|
||||||
#pragma GCC diagnostic pop
|
#pragma GCC diagnostic pop
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,8 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.4)
|
||||||
set(USE_SSE4_INSTRUCTIONS ON CACHE BOOL "Use SSE4 instructions")
|
set(USE_SSE4_INSTRUCTIONS ON CACHE BOOL "Use SSE4 instructions")
|
||||||
include(../../dlib/add_python_module)
|
include(../../dlib/add_python_module)
|
||||||
|
|
||||||
|
add_definitions(-DDLIB_VERSION=${DLIB_VERSION})
|
||||||
|
|
||||||
# Tell cmake to compile all these cpp files into a dlib python module.
|
# Tell cmake to compile all these cpp files into a dlib python module.
|
||||||
set(python_srcs
|
set(python_srcs
|
||||||
src/dlib.cpp
|
src/dlib.cpp
|
||||||
|
|
|
@ -29,6 +29,11 @@ BOOST_PYTHON_MODULE(dlib)
|
||||||
// since it is full of huge amounts of template clutter.
|
// since it is full of huge amounts of template clutter.
|
||||||
boost::python::docstring_options options(true,true,false);
|
boost::python::docstring_options options(true,true,false);
|
||||||
|
|
||||||
|
#define DLIB_QUOTE_STRING(x) DLIB_QUOTE_STRING2(x)
|
||||||
|
#define DLIB_QUOTE_STRING2(x) #x
|
||||||
|
|
||||||
|
boost::python::scope().attr("__version__") = DLIB_QUOTE_STRING(DLIB_VERSION);
|
||||||
|
|
||||||
bind_matrix();
|
bind_matrix();
|
||||||
bind_vector();
|
bind_vector();
|
||||||
bind_svm_c_trainer();
|
bind_svm_c_trainer();
|
||||||
|
|
|
@ -90,6 +90,8 @@ void bind_rectangles()
|
||||||
.def("intersect", &::intersect<type>, (arg("rectangle")))
|
.def("intersect", &::intersect<type>, (arg("rectangle")))
|
||||||
.def("__str__", &::print_rectangle_str<type>)
|
.def("__str__", &::print_rectangle_str<type>)
|
||||||
.def("__repr__", &::print_rectangle_repr<type>)
|
.def("__repr__", &::print_rectangle_repr<type>)
|
||||||
|
.def(self == self)
|
||||||
|
.def(self != self)
|
||||||
.def_pickle(serialize_pickle<type>());
|
.def_pickle(serialize_pickle<type>());
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -112,6 +114,8 @@ void bind_rectangles()
|
||||||
.def("intersect", &::intersect<type>, (arg("rectangle")))
|
.def("intersect", &::intersect<type>, (arg("rectangle")))
|
||||||
.def("__str__", &::print_rectangle_str<type>)
|
.def("__str__", &::print_rectangle_str<type>)
|
||||||
.def("__repr__", &::print_rectangle_repr<type>)
|
.def("__repr__", &::print_rectangle_repr<type>)
|
||||||
|
.def(self == self)
|
||||||
|
.def(self != self)
|
||||||
.def_pickle(serialize_pickle<type>());
|
.def_pickle(serialize_pickle<type>());
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
|
|
@ -210,7 +210,9 @@ void bind_shape_predictors()
|
||||||
e.g a padding of 0.5 would cause the algorithm to sample pixels from a box that was 2x2 pixels")
|
e.g a padding of 0.5 would cause the algorithm to sample pixels from a box that was 2x2 pixels")
|
||||||
.add_property("random_seed", &type::random_seed,
|
.add_property("random_seed", &type::random_seed,
|
||||||
&type::random_seed,
|
&type::random_seed,
|
||||||
"The random seed used by the internal random number generator");
|
"The random seed used by the internal random number generator")
|
||||||
|
.def("__str__", &::print_shape_predictor_training_options)
|
||||||
|
.def_pickle(serialize_pickle<type>());
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
typedef shape_predictor type;
|
typedef shape_predictor type;
|
||||||
|
|
|
@ -45,6 +45,75 @@ namespace dlib
|
||||||
std::string random_seed;
|
std::string random_seed;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
inline void serialize (
|
||||||
|
const shape_predictor_training_options& item,
|
||||||
|
std::ostream& out
|
||||||
|
)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
serialize(item.be_verbose,out);
|
||||||
|
serialize(item.cascade_depth,out);
|
||||||
|
serialize(item.tree_depth,out);
|
||||||
|
serialize(item.num_trees_per_cascade_level,out);
|
||||||
|
serialize(item.nu,out);
|
||||||
|
serialize(item.oversampling_amount,out);
|
||||||
|
serialize(item.feature_pool_size,out);
|
||||||
|
serialize(item.lambda_param,out);
|
||||||
|
serialize(item.num_test_splits,out);
|
||||||
|
serialize(item.feature_pool_region_padding,out);
|
||||||
|
serialize(item.random_seed,out);
|
||||||
|
}
|
||||||
|
catch (serialization_error& e)
|
||||||
|
{
|
||||||
|
throw serialization_error(e.info + "\n while serializing an object of type shape_predictor_training_options");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void deserialize (
|
||||||
|
shape_predictor_training_options& item,
|
||||||
|
std::istream& in
|
||||||
|
)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
deserialize(item.be_verbose,in);
|
||||||
|
deserialize(item.cascade_depth,in);
|
||||||
|
deserialize(item.tree_depth,in);
|
||||||
|
deserialize(item.num_trees_per_cascade_level,in);
|
||||||
|
deserialize(item.nu,in);
|
||||||
|
deserialize(item.oversampling_amount,in);
|
||||||
|
deserialize(item.feature_pool_size,in);
|
||||||
|
deserialize(item.lambda_param,in);
|
||||||
|
deserialize(item.num_test_splits,in);
|
||||||
|
deserialize(item.feature_pool_region_padding,in);
|
||||||
|
deserialize(item.random_seed,in);
|
||||||
|
}
|
||||||
|
catch (serialization_error& e)
|
||||||
|
{
|
||||||
|
throw serialization_error(e.info + "\n while deserializing an object of type shape_predictor_training_options");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
string print_shape_predictor_training_options(const shape_predictor_training_options& o)
|
||||||
|
{
|
||||||
|
std::ostringstream sout;
|
||||||
|
sout << "shape_predictor_training_options("
|
||||||
|
<< "be_verbose=" << o.be_verbose << ","
|
||||||
|
<< "cascade_depth=" << o.cascade_depth << ","
|
||||||
|
<< "tree_depth=" << o.tree_depth << ","
|
||||||
|
<< "num_trees_per_cascade_level=" << o.num_trees_per_cascade_level << ","
|
||||||
|
<< "nu=" << o.nu << ","
|
||||||
|
<< "oversampling_amount=" << o.oversampling_amount << ","
|
||||||
|
<< "feature_pool_size=" << o.feature_pool_size << ","
|
||||||
|
<< "lambda_param=" << o.lambda_param << ","
|
||||||
|
<< "num_test_splits=" << o.num_test_splits << ","
|
||||||
|
<< "feature_pool_region_padding=" << o.feature_pool_region_padding << ","
|
||||||
|
<< "random_seed=" << o.random_seed
|
||||||
|
<< ")";
|
||||||
|
return sout.str();
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
namespace impl
|
namespace impl
|
||||||
|
|
Loading…
Reference in New Issue