EstervQrCode
1.1.1
Library for qr code manipulation
build
release
_deps
opencv-src
include
opencv4
opencv2
flann
matrix.h
1
/***********************************************************************
2
* Software License Agreement (BSD License)
3
*
4
* Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved.
5
* Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved.
6
*
7
* THE BSD LICENSE
8
*
9
* Redistribution and use in source and binary forms, with or without
10
* modification, are permitted provided that the following conditions
11
* are met:
12
*
13
* 1. Redistributions of source code must retain the above copyright
14
* notice, this list of conditions and the following disclaimer.
15
* 2. Redistributions in binary form must reproduce the above copyright
16
* notice, this list of conditions and the following disclaimer in the
17
* documentation and/or other materials provided with the distribution.
18
*
19
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
23
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
24
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
*************************************************************************/
30
31
#ifndef OPENCV_FLANN_DATASET_H_
32
#define OPENCV_FLANN_DATASET_H_
33
35
36
#include <stdio.h>
37
38
#include "opencv2/core/cvdef.h"
39
#include "opencv2/flann/defines.h"
40
41
namespace
cvflann
42
{
43
48
template
<
typename
T>
49
class
Matrix
50
{
51
public
:
52
typedef
T
type
;
53
54
size_t
rows
;
55
size_t
cols
;
56
size_t
stride;
57
T
*
data
;
58
59
Matrix() :
rows
(0),
cols
(0), stride(0),
data
(NULL)
60
{
61
}
62
63
Matrix(
T
* data_,
size_t
rows_,
size_t
cols_,
size_t
stride_ = 0) :
64
rows
(rows_),
cols
(cols_), stride(stride_),
data
(data_)
65
{
66
if
(stride==0) stride =
cols
;
67
}
68
72
CV_DEPRECATED
void
free
()
73
{
74
fprintf
(stderr,
"The cvflann::Matrix<T>::free() method is deprecated "
75
"and it does not do any memory deallocation any more. You are"
76
"responsible for deallocating the matrix memory (by doing"
77
"'delete[] matrix.data' for example)"
);
78
}
79
83
T
* operator[](
size_t
index
)
const
84
{
85
return
data
+
index
*stride;
86
}
87
};
88
89
90
class
UntypedMatrix
91
{
92
public
:
93
size_t
rows
;
94
size_t
cols
;
95
void
*
data
;
96
flann_datatype_t
type
;
97
98
UntypedMatrix(
void
* data_,
long
rows_,
long
cols_) :
99
rows
(rows_),
cols
(cols_),
data
(data_)
100
{
101
}
102
103
~UntypedMatrix()
104
{
105
}
106
107
108
template
<
typename
T>
109
Matrix<T> as()
110
{
111
return
Matrix<T>((
T
*)
data
,
rows
,
cols
);
112
}
113
};
114
115
116
117
}
118
120
121
#endif
//OPENCV_FLANN_DATASET_H_
std::fprintf
T fprintf(T... args)
std::free
T free(T... args)
cv::T
InputArrayOfArrays InputArrayOfArrays InputOutputArray InputOutputArray InputOutputArray InputOutputArray Size InputOutputArray InputOutputArray T
Definition:
calib3d.hpp:1867
rows
int rows
Definition:
core_c.h:257
cols
int cols
Definition:
core_c.h:221
index
int index
Definition:
core_c.h:634
type
int int type
Definition:
core_c.h:221
data
void * data
Definition:
core_c.h:427
CV_DEPRECATED
#define CV_DEPRECATED
Definition:
cvdef.h:450
cvflann
Definition:
flann.hpp:60