29 #ifndef OPENCV_FLANN_SAVING_H_
30 #define OPENCV_FLANN_SAVING_H_
38 #ifdef FLANN_SIGNATURE_
39 #undef FLANN_SIGNATURE_
41 #define FLANN_SIGNATURE_ "FLANN_INDEX"
85 template<
typename Distance>
90 strcpy(header.
signature, FLANN_SIGNATURE_);
92 strcpy(header.
version, FLANN_VERSION_);
98 std::fwrite(&header,
sizeof(header),1,stream);
110 size_t read_size = fread(&header,
sizeof(header),1,stream);
112 if (read_size!=(
size_t)1) {
116 if (strcmp(header.
signature,FLANN_SIGNATURE_)!=0) {
128 fwrite(&value,
sizeof(value),
count, stream);
134 fwrite(&value,
sizeof(value),1, stream);
141 size_t size = value.size();
142 fwrite(&size,
sizeof(
size_t), 1, stream);
143 fwrite(&value[0],
sizeof(
T), size, stream);
149 size_t read_cnt = fread(&value,
sizeof(value),
count, stream);
150 if (read_cnt !=
count) {
158 size_t read_cnt = fread(&value,
sizeof(value), 1, stream);
163 read_cnt = fread(value.
data,
sizeof(
T), value.
rows*value.
cols, stream);
164 if (read_cnt != (
size_t)(value.
rows*value.
cols)) {
174 size_t read_cnt = fread(&size,
sizeof(
size_t), 1, stream);
179 read_cnt = fread(&value[0],
sizeof(
T), size, stream);
180 if (read_cnt != size) {
void save_header(FILE *stream, const NNIndex< Distance > &index)
Definition: saving.h:86
flann_algorithm_t
Definition: defines.h:81
short float uchar uchar uchar uchar uchar ushort int uchar ushort int float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float int int int float int int int float int CV_CUDEV_IMPLEMENT_VEC_BINARY_OP char CV_CUDEV_IMPLEMENT_VEC_BINARY_OP ushort CV_CUDEV_IMPLEMENT_VEC_BINARY_OP short CV_CUDEV_IMPLEMENT_VEC_BINARY_OP int CV_CUDEV_IMPLEMENT_VEC_BINARY_OP uint CV_CUDEV_IMPLEMENT_VEC_BINARY_OP float CV_CUDEV_IMPLEMENT_VEC_BINARY_OP double char
Definition: vec_math.hpp:426
virtual flann_algorithm_t getType() const =0
Definition: defines.h:161
size_t cols
Definition: matrix.h:52
virtual size_t size() const =0
CvSize size
Definition: calib3d.hpp:212
GLuint index
Definition: core_c.h:986
static flann_datatype_t type()
Definition: saving.h:53
const CvMat const CvMat const CvMat CvMat CvMat CvMat CvMat CvSize CvMat CvMat * T
Definition: calib3d.hpp:270
static flann_datatype_t type()
Definition: saving.h:63
Definition: defines.h:157
static flann_datatype_t type()
Definition: saving.h:61
flann_datatype_t
Definition: defines.h:154
IndexHeader load_header(FILE *stream)
Definition: saving.h:107
static flann_datatype_t type()
Definition: saving.h:57
GLuint GLuint GLsizei count
Definition: core_c.h:973
Definition: defines.h:165
void load_value(FILE *stream, T &value, size_t count=1)
Definition: saving.h:147
static flann_datatype_t type()
Definition: saving.h:51
Definition: defines.h:164
GLsizei const GLfloat * value
Definition: core_c.h:341
T * data
Definition: matrix.h:54
int int type
Definition: core_c.h:109
static flann_datatype_t type()
Definition: saving.h:49
Definition: defines.h:156
Definition: defines.h:160
Definition: defines.h:158
Definition: nn_index.h:48
size_t rows
Definition: matrix.h:51
static flann_datatype_t type()
Definition: saving.h:55
::max::max::max float
Definition: functional.hpp:326
::max::max int
Definition: functional.hpp:324
Definition: defines.h:162
short
Definition: vec_math.hpp:153
static flann_datatype_t type()
Definition: saving.h:59
CvMat * header
Definition: core_c.h:361
void save_value(FILE *stream, const T &value, size_t count=1)
Definition: saving.h:126
virtual size_t veclen() const =0
GLsizeiptr size
Definition: core_c.h:939
short float uchar uchar uchar uchar uchar ushort int uchar ushort int float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float float int int int float int int int float int CV_CUDEV_IMPLEMENT_VEC_BINARY_OP char CV_CUDEV_IMPLEMENT_VEC_BINARY_OP ushort CV_CUDEV_IMPLEMENT_VEC_BINARY_OP short CV_CUDEV_IMPLEMENT_VEC_BINARY_OP int CV_CUDEV_IMPLEMENT_VEC_BINARY_OP uint CV_CUDEV_IMPLEMENT_VEC_BINARY_OP float CV_CUDEV_IMPLEMENT_VEC_BINARY_OP double int int uint double
Definition: vec_math.hpp:432