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);
Eigen::Vector3d trans_mean_
Eigen::Matrix3d covariance_rot_
void serialize(std::ostream &stream) const
std::vector< boost::shared_ptr< pcl::IntegralImage2D< float, 1 > > > iimages_
void deserialize(std::istream &stream)
This file defines compatibility wrappers for low level I/O functions.
void deserialize(::std::istream &stream)
Eigen::Vector3d rot_mean_
std::vector< RFTreeNode > sub_nodes
Eigen::Matrix3d covariance_trans_
EIGEN_MAKE_ALIGNED_OPERATOR_NEW void serialize(::std::ostream &stream) const