1 #ifndef FACE_DETECTOR_COMMON_H_
2 #define FACE_DETECTOR_COMMON_H_
4 #include <pcl/features/integral_image2D.h>
9 namespace face_detection
14 std::vector<boost::shared_ptr<pcl::IntegralImage2D<float, 1> > >
iimages_;
22 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
44 stream.write (
reinterpret_cast<const char*
> (&
row1_),
sizeof(
row1_));
45 stream.write (
reinterpret_cast<const char*
> (&
col1_),
sizeof(
col1_));
46 stream.write (
reinterpret_cast<const char*
> (&
row2_),
sizeof(
row2_));
47 stream.write (
reinterpret_cast<const char*
> (&
col2_),
sizeof(
col2_));
58 stream.read (
reinterpret_cast<char*
> (&
row1_),
sizeof(
row1_));
59 stream.read (
reinterpret_cast<char*
> (&
col1_),
sizeof(
col1_));
60 stream.read (
reinterpret_cast<char*
> (&
row2_),
sizeof(
row2_));
61 stream.read (
reinterpret_cast<char*
> (&
col2_),
sizeof(
col2_));
71 template<
class FeatureType>
88 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
93 const int num_of_sub_nodes =
static_cast<int> (
sub_nodes.size ());
94 stream.write (
reinterpret_cast<const char*
> (&num_of_sub_nodes),
sizeof(num_of_sub_nodes));
102 stream.write (
reinterpret_cast<const char*
> (&
value),
sizeof(
value));
105 for (
size_t i = 0; i < 3; i++)
108 for (
size_t i = 0; i < 3; i++)
111 for (
size_t i = 0; i < 3; i++)
112 for (
size_t j = 0; j < 3; j++)
115 for (
size_t i = 0; i < 3; i++)
116 for (
size_t j = 0; j < 3; j++)
119 for (
int sub_node_index = 0; sub_node_index < num_of_sub_nodes; ++sub_node_index)
121 sub_nodes[sub_node_index].serialize (stream);
127 int num_of_sub_nodes;
128 stream.read (
reinterpret_cast<char*
> (&num_of_sub_nodes),
sizeof(num_of_sub_nodes));
130 if (num_of_sub_nodes > 0)
136 stream.read (
reinterpret_cast<char*
> (&
value),
sizeof(
value));
139 for (
size_t i = 0; i < 3; i++)
142 for (
size_t i = 0; i < 3; i++)
145 for (
size_t i = 0; i < 3; i++)
146 for (
size_t j = 0; j < 3; j++)
149 for (
size_t i = 0; i < 3; i++)
150 for (
size_t j = 0; j < 3; j++)
155 if (num_of_sub_nodes > 0)
157 for (
int sub_node_index = 0; sub_node_index < num_of_sub_nodes; ++sub_node_index)
159 sub_nodes[sub_node_index].deserialize (stream);