EstervQrCode 1.1.1
Library for qr code manipulation
matx.hpp
1 /*M///////////////////////////////////////////////////////////////////////////////////////
2 //
3 // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 //
5 // By downloading, copying, installing or using the software you agree to this license.
6 // If you do not agree to this license, do not download, install,
7 // copy or use the software.
8 //
9 //
10 // License Agreement
11 // For Open Source Computer Vision Library
12 //
13 // Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
14 // Copyright (C) 2009, Willow Garage Inc., all rights reserved.
15 // Copyright (C) 2013, OpenCV Foundation, all rights reserved.
16 // Third party copyrights are property of their respective owners.
17 //
18 // Redistribution and use in source and binary forms, with or without modification,
19 // are permitted provided that the following conditions are met:
20 //
21 // * Redistribution's of source code must retain the above copyright notice,
22 // this list of conditions and the following disclaimer.
23 //
24 // * Redistribution's in binary form must reproduce the above copyright notice,
25 // this list of conditions and the following disclaimer in the documentation
26 // and/or other materials provided with the distribution.
27 //
28 // * The name of the copyright holders may not be used to endorse or promote products
29 // derived from this software without specific prior written permission.
30 //
31 // This software is provided by the copyright holders and contributors "as is" and
32 // any express or implied warranties, including, but not limited to, the implied
33 // warranties of merchantability and fitness for a particular purpose are disclaimed.
34 // In no event shall the Intel Corporation or contributors be liable for any direct,
35 // indirect, incidental, special, exemplary, or consequential damages
36 // (including, but not limited to, procurement of substitute goods or services;
37 // loss of use, data, or profits; or business interruption) however caused
38 // and on any theory of liability, whether in contract, strict liability,
39 // or tort (including negligence or otherwise) arising in any way out of
40 // the use of this software, even if advised of the possibility of such damage.
41 //
42 //M*/
43 
44 #ifndef OPENCV_CORE_MATX_HPP
45 #define OPENCV_CORE_MATX_HPP
46 
47 #ifndef __cplusplus
48 # error matx.hpp header must be compiled as C++
49 #endif
50 
51 #include "opencv2/core/cvdef.h"
52 #include "opencv2/core/base.hpp"
53 #include "opencv2/core/traits.hpp"
54 #include "opencv2/core/saturate.hpp"
55 
56 #include <initializer_list>
57 
58 namespace cv
59 {
60 
63 
65 // FIXIT Remove this (especially CV_EXPORTS modifier)
66 struct CV_EXPORTS Matx_AddOp { Matx_AddOp() {} Matx_AddOp(const Matx_AddOp&) {} };
67 struct CV_EXPORTS Matx_SubOp { Matx_SubOp() {} Matx_SubOp(const Matx_SubOp&) {} };
68 struct CV_EXPORTS Matx_ScaleOp { Matx_ScaleOp() {} Matx_ScaleOp(const Matx_ScaleOp&) {} };
69 struct CV_EXPORTS Matx_MulOp { Matx_MulOp() {} Matx_MulOp(const Matx_MulOp&) {} };
70 struct CV_EXPORTS Matx_DivOp { Matx_DivOp() {} Matx_DivOp(const Matx_DivOp&) {} };
71 struct CV_EXPORTS Matx_MatMulOp { Matx_MatMulOp() {} Matx_MatMulOp(const Matx_MatMulOp&) {} };
72 struct CV_EXPORTS Matx_TOp { Matx_TOp() {} Matx_TOp(const Matx_TOp&) {} };
74 
76 
99 template<typename _Tp, int m, int n> class Matx
100 {
101 public:
102  enum {
103  rows = m,
104  cols = n,
106 #ifdef OPENCV_TRAITS_ENABLE_DEPRECATED
109 #endif
110  shortdim = (m < n ? m : n)
111  };
112 
113  typedef _Tp value_type;
116 
118  Matx();
119 
120  explicit Matx(_Tp v0);
121  Matx(_Tp v0, _Tp v1);
122  Matx(_Tp v0, _Tp v1, _Tp v2);
123  Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3);
124  Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4);
125  Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5);
126  Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6);
127  Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7);
128  Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8);
129  Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9);
130  Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3,
131  _Tp v4, _Tp v5, _Tp v6, _Tp v7,
132  _Tp v8, _Tp v9, _Tp v10, _Tp v11);
133  Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3,
134  _Tp v4, _Tp v5, _Tp v6, _Tp v7,
135  _Tp v8, _Tp v9, _Tp v10, _Tp v11,
136  _Tp v12, _Tp v13);
137  Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3,
138  _Tp v4, _Tp v5, _Tp v6, _Tp v7,
139  _Tp v8, _Tp v9, _Tp v10, _Tp v11,
140  _Tp v12, _Tp v13, _Tp v14, _Tp v15);
141  explicit Matx(const _Tp* vals);
142 
144 
145  CV_NODISCARD_STD static Matx all(_Tp alpha);
146  CV_NODISCARD_STD static Matx zeros();
147  CV_NODISCARD_STD static Matx ones();
148  CV_NODISCARD_STD static Matx eye();
155  CV_NODISCARD_STD static Matx randu(_Tp a, _Tp b);
160  CV_NODISCARD_STD static Matx randn(_Tp a, _Tp b);
161 
163  _Tp dot(const Matx<_Tp, m, n>& v) const;
164 
166  double ddot(const Matx<_Tp, m, n>& v) const;
167 
169  template<typename T2> operator Matx<T2, m, n>() const;
170 
172  template<int m1, int n1> Matx<_Tp, m1, n1> reshape() const;
173 
175  template<int m1, int n1> Matx<_Tp, m1, n1> get_minor(int base_row, int base_col) const;
176 
178  Matx<_Tp, 1, n> row(int i) const;
179 
181  Matx<_Tp, m, 1> col(int i) const;
182 
184  diag_type diag() const;
185 
187  Matx<_Tp, n, m> t() const;
188 
190  Matx<_Tp, n, m> inv(int method=DECOMP_LU, bool *p_is_ok = NULL) const;
191 
193  template<int l> Matx<_Tp, n, l> solve(const Matx<_Tp, m, l>& rhs, int flags=DECOMP_LU) const;
194  Vec<_Tp, n> solve(const Vec<_Tp, m>& rhs, int method) const;
195 
197  Matx<_Tp, m, n> mul(const Matx<_Tp, m, n>& a) const;
198 
200  Matx<_Tp, m, n> div(const Matx<_Tp, m, n>& a) const;
201 
203  const _Tp& operator ()(int row, int col) const;
204  _Tp& operator ()(int row, int col);
205 
207  const _Tp& operator ()(int i) const;
208  _Tp& operator ()(int i);
209 
210  Matx(const Matx<_Tp, m, n>& a, const Matx<_Tp, m, n>& b, Matx_AddOp);
211  Matx(const Matx<_Tp, m, n>& a, const Matx<_Tp, m, n>& b, Matx_SubOp);
212  template<typename _T2> Matx(const Matx<_Tp, m, n>& a, _T2 alpha, Matx_ScaleOp);
213  Matx(const Matx<_Tp, m, n>& a, const Matx<_Tp, m, n>& b, Matx_MulOp);
214  Matx(const Matx<_Tp, m, n>& a, const Matx<_Tp, m, n>& b, Matx_DivOp);
215  template<int l> Matx(const Matx<_Tp, m, l>& a, const Matx<_Tp, l, n>& b, Matx_MatMulOp);
216  Matx(const Matx<_Tp, n, m>& a, Matx_TOp);
217 
218  _Tp val[m*n];
219 };
220 
229 
238 
245 
248 
253 
258 
259 template<typename _Tp, int m> static inline
260 double determinant(const Matx<_Tp, m, m>& a);
261 
262 template<typename _Tp, int m, int n> static inline
263 double trace(const Matx<_Tp, m, n>& a);
264 
265 template<typename _Tp, int m, int n> static inline
266 double norm(const Matx<_Tp, m, n>& M);
267 
268 template<typename _Tp, int m, int n> static inline
269 double norm(const Matx<_Tp, m, n>& M, int normType);
270 
271 template<typename _Tp1, typename _Tp2, int m, int n> static inline
273 
274 template<typename _Tp1, typename _Tp2, int m, int n> static inline
276 
277 template<typename _Tp, int m, int n> static inline
279 
280 template<typename _Tp, int m, int n> static inline
282 
283 template<typename _Tp, int m, int n> static inline
285 
286 template<typename _Tp, int m, int n> static inline
288 
289 template<typename _Tp, int m, int n> static inline
291 
292 template<typename _Tp, int m, int n> static inline
294 
295 template<typename _Tp, int m, int n> static inline
297 
298 template<typename _Tp, int m, int n> static inline
300 
301 template<typename _Tp, int m, int n> static inline
303 
304 template<typename _Tp, int m, int n> static inline
306 
307 template<typename _Tp, int m, int n> static inline
309 
310 template<typename _Tp, int m, int n> static inline
312 
313 template<typename _Tp, int m, int n> static inline
315 
316 template<typename _Tp, int m, int n> static inline
318 
319 template<typename _Tp, int m, int n> static inline
321 
322 template<typename _Tp, int m, int n> static inline
324 
325 template<typename _Tp, int m, int n, int l> static inline
327 
328 template<typename _Tp, int m, int n> static inline
330 
331 template<typename _Tp, int m, int n> static inline
333 
334 template<typename _Tp, int m, int n> static inline
336 
337 
339 
368 template<typename _Tp, int cn> class Vec : public Matx<_Tp, cn, 1>
369 {
370 public:
371  typedef _Tp value_type;
372  enum {
373  channels = cn,
374 #ifdef OPENCV_TRAITS_ENABLE_DEPRECATED
377 #endif
379  };
380 
382  Vec();
383 
384  Vec(_Tp v0);
385  Vec(_Tp v0, _Tp v1);
386  Vec(_Tp v0, _Tp v1, _Tp v2);
387  Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3);
388  Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4);
389  Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5);
390  Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6);
391  Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7);
392  Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8);
393  Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9);
394  Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9, _Tp v10, _Tp v11, _Tp v12, _Tp v13);
395  explicit Vec(const _Tp* values);
396 
398 
399  Vec(const Vec<_Tp, cn>& v);
400 
401  static Vec all(_Tp alpha);
402  static Vec ones();
403  static Vec randn(_Tp a, _Tp b);
404  static Vec randu(_Tp a, _Tp b);
405  static Vec zeros();
406  static Vec diag(_Tp alpha) = delete;
407  static Vec eye() = delete;
408 
410  Vec mul(const Vec<_Tp, cn>& v) const;
411 
413  Vec conj() const;
414 
420  Vec cross(const Vec& v) const;
422  template<typename T2> operator Vec<T2, cn>() const;
423 
425  const _Tp& operator [](int i) const;
426  _Tp& operator[](int i);
427  const _Tp& operator ()(int i) const;
428  _Tp& operator ()(int i);
429 
430  Vec<_Tp, cn>& operator=(const Vec<_Tp, cn>& rhs) = default;
431 
432  Vec(const Matx<_Tp, cn, 1>& a, const Matx<_Tp, cn, 1>& b, Matx_AddOp);
433  Vec(const Matx<_Tp, cn, 1>& a, const Matx<_Tp, cn, 1>& b, Matx_SubOp);
434  template<typename _T2> Vec(const Matx<_Tp, cn, 1>& a, _T2 alpha, Matx_ScaleOp);
435 };
436 
443 
447 
451 
457 
462 
469 template<typename _Tp, int cn> inline
471 
472 template<typename _Tp1, typename _Tp2, int cn> static inline
474 
475 template<typename _Tp1, typename _Tp2, int cn> static inline
477 
478 template<typename _Tp, int cn> static inline
480 
481 template<typename _Tp, int cn> static inline
483 
484 template<typename _Tp, int cn> static inline
486 
487 template<typename _Tp, int cn> static inline
489 
490 template<typename _Tp, int cn> static inline
492 
493 template<typename _Tp, int cn> static inline
495 
496 template<typename _Tp, int cn> static inline
498 
499 template<typename _Tp, int cn> static inline
501 
502 template<typename _Tp, int cn> static inline
504 
505 template<typename _Tp, int cn> static inline
507 
508 template<typename _Tp, int cn> static inline
510 
511 template<typename _Tp, int cn> static inline
513 
514 template<typename _Tp, int cn> static inline
516 
517 template<typename _Tp, int cn> static inline
519 
520 template<typename _Tp, int cn> static inline
522 
523 template<typename _Tp, int cn> static inline
525 
526 template<typename _Tp, int cn> static inline
528 
529 template<typename _Tp, int cn> static inline
531 
532 template<typename _Tp> inline
533 Vec<_Tp, 4> operator * (const Vec<_Tp, 4>& v1, const Vec<_Tp, 4>& v2);
534 
535 template<typename _Tp> inline
537 
539 
540 } // cv
541 
542 #include "opencv2/core/matx.inl.hpp"
543 
544 #endif // OPENCV_CORE_MATX_HPP
Template class for small matrices whose type and size are known at compilation time.
Definition: matx.hpp:100
Matx< _Tp, m, n > mul(const Matx< _Tp, m, n > &a) const
multiply two matrices element-wise
Definition: matx.inl.hpp:492
Matx()
default constructor
Definition: matx.inl.hpp:148
Matx< _Tp, n, m > t() const
transpose the matrix
Definition: matx.inl.hpp:504
static CV_NODISCARD_STD Matx ones()
Definition: matx.inl.hpp:313
_Tp value_type
Definition: matx.hpp:113
Matx< _Tp, 1, n > row(int i) const
extract the matrix row
Definition: matx.inl.hpp:380
Matx< _Tp, n, m > inv(int method=DECOMP_LU, bool *p_is_ok=NULL) const
invert the matrix
Matx< _Tp, shortdim, 1 > diag_type
Definition: matx.hpp:115
Matx< _Tp, m, 1 > col(int i) const
extract the matrix column
Definition: matx.inl.hpp:387
static CV_NODISCARD_STD Matx eye()
Definition: matx.inl.hpp:319
Matx< _Tp, n, l > solve(const Matx< _Tp, m, l > &rhs, int flags=DECOMP_LU) const
solve linear system
Matx< _Tp, m, n > div(const Matx< _Tp, m, n > &a) const
divide two matrices element-wise
Definition: matx.inl.hpp:498
static CV_NODISCARD_STD Matx randn(_Tp a, _Tp b)
Generates normally distributed random numbers.
Matx< _Tp, m, n > mat_type
Definition: matx.hpp:114
Matx< _Tp, m1, n1 > reshape() const
change the matrix shape
Definition: matx.inl.hpp:361
static CV_NODISCARD_STD Matx zeros()
Definition: matx.inl.hpp:307
const _Tp & operator()(int row, int col) const
element access
Definition: matx.inl.hpp:406
static CV_NODISCARD_STD Matx all(_Tp alpha)
Definition: matx.inl.hpp:299
static CV_NODISCARD_STD Matx randu(_Tp a, _Tp b)
Generates uniformly distributed random numbers.
double ddot(const Matx< _Tp, m, n > &v) const
dot product computed in double-precision arithmetics
Definition: matx.inl.hpp:336
@ cols
Definition: matx.hpp:104
@ rows
Definition: matx.hpp:103
@ channels
Definition: matx.hpp:105
@ shortdim
Definition: matx.hpp:110
static CV_NODISCARD_STD Matx diag(const diag_type &d)
diag_type diag() const
extract the matrix diagonal
Definition: matx.inl.hpp:397
_Tp val[m *n]
matrix elements
Definition: matx.hpp:218
Matx< _Tp, m1, n1 > get_minor(int base_row, int base_col) const
extract part of the matrix
Definition: matx.inl.hpp:369
_Tp dot(const Matx< _Tp, m, n > &v) const
dot product computed with the default precision
Definition: matx.inl.hpp:328
Template class for short numerical vectors, a partial case of Matx.
Definition: matx.hpp:369
static Vec zeros()
Definition: matx.inl.hpp:855
static Vec all(_Tp alpha)
Definition: matx.inl.hpp:841
static Vec diag(_Tp alpha)=delete
Vec mul(const Vec< _Tp, cn > &v) const
per-element multiplication
Definition: matx.inl.hpp:861
static Vec randn(_Tp a, _Tp b)
Vec()
default constructor
Definition: matx.inl.hpp:770
static Vec randu(_Tp a, _Tp b)
const _Tp & operator[](int i) const
Definition: matx.inl.hpp:924
Vec cross(const Vec &v) const
Definition: matx.inl.hpp:893
static Vec eye()=delete
static Vec ones()
Definition: matx.inl.hpp:849
Vec< _Tp, cn > & operator=(const Vec< _Tp, cn > &rhs)=default
_Tp value_type
Definition: matx.hpp:371
const _Tp & operator()(int i) const
Definition: matx.inl.hpp:938
@ _dummy_enum_finalizer
Definition: matx.hpp:378
@ channels
Definition: matx.hpp:373
Vec conj() const
conjugation (makes sense for complex numbers and quaternions)
InputArrayOfArrays Size InputOutputArray InputOutputArray OutputArrayOfArrays OutputArrayOfArrays OutputArray OutputArray OutputArray int flags
Definition: calib3d.hpp:1617
@ DECOMP_LU
Definition: base.hpp:135
static double determinant(const Matx< _Tp, m, m > &a)
Vec< double, 6 > Vec6d
Definition: matx.hpp:466
Matx< double, 2, 1 > Matx21d
Definition: matx.hpp:231
Matx< float, 1, 3 > Matx13f
Definition: matx.hpp:223
Matx< double, 3, 2 > Matx32d
Definition: matx.hpp:244
Matx< double, 2, 2 > Matx22d
Definition: matx.hpp:240
Matx< float, 3, 3 > Matx33f
Definition: matx.hpp:246
Vec< int, 2 > Vec2i
Definition: matx.hpp:452
Matx< float, 3, 1 > Matx31f
Definition: matx.hpp:232
Vec< _Tp, cn > normalize(const Vec< _Tp, cn > &v)
Definition: matx.inl.hpp:952
Vec< short, 3 > Vec3s
Definition: matx.hpp:445
Matx< double, 3, 4 > Matx34d
Definition: matx.hpp:250
Matx< double, 1, 2 > Matx12d
Definition: matx.hpp:222
Matx< double, 4, 4 > Matx44d
Definition: matx.hpp:255
static double trace(const Matx< _Tp, m, n > &a)
Vec< double, 3 > Vec3d
Definition: matx.hpp:464
Matx< float, 2, 1 > Matx21f
Definition: matx.hpp:230
Matx< double, 2, 3 > Matx23d
Definition: matx.hpp:242
Vec< float, 2 > Vec2f
Definition: matx.hpp:458
Matx< float, 1, 2 > Matx12f
Definition: matx.hpp:221
Matx< double, 1, 4 > Matx14d
Definition: matx.hpp:226
Matx< double, 1, 6 > Matx16d
Definition: matx.hpp:228
Vec< int, 8 > Vec8i
Definition: matx.hpp:456
Vec< short, 4 > Vec4s
Definition: matx.hpp:446
Vec< double, 4 > Vec4d
Definition: matx.hpp:465
static bool operator!=(const Matx< _Tp, m, n > &a, const Matx< _Tp, m, n > &b)
Matx< float, 6, 1 > Matx61f
Definition: matx.hpp:236
static double norm(const Matx< _Tp, m, n > &M)
Vec< float, 4 > Vec4f
Definition: matx.hpp:460
Vec< ushort, 4 > Vec4w
Definition: matx.hpp:450
Vec< int, 3 > Vec3i
Definition: matx.hpp:453
Vec< uchar, 2 > Vec2b
Definition: matx.hpp:440
static bool operator==(const Matx< _Tp, m, n > &a, const Matx< _Tp, m, n > &b)
Vec< ushort, 2 > Vec2w
Definition: matx.hpp:448
Matx< float, 3, 2 > Matx32f
Definition: matx.hpp:243
Vec< float, 6 > Vec6f
Definition: matx.hpp:461
Matx< double, 1, 3 > Matx13d
Definition: matx.hpp:224
Matx< double, 3, 1 > Matx31d
Definition: matx.hpp:233
Matx< float, 1, 6 > Matx16f
Definition: matx.hpp:227
Matx< double, 4, 3 > Matx43d
Definition: matx.hpp:252
Vec< uchar, 3 > Vec3b
Definition: matx.hpp:441
Vec< short, 2 > Vec2s
Definition: matx.hpp:444
Matx< float, 2, 2 > Matx22f
Definition: matx.hpp:239
Vec< int, 4 > Vec4i
Definition: matx.hpp:454
Matx< double, 6, 1 > Matx61d
Definition: matx.hpp:237
Matx< float, 4, 1 > Matx41f
Definition: matx.hpp:234
Matx< float, 2, 3 > Matx23f
Definition: matx.hpp:241
Matx< float, 4, 4 > Matx44f
Definition: matx.hpp:254
Vec< float, 3 > Vec3f
Definition: matx.hpp:459
Vec< ushort, 3 > Vec3w
Definition: matx.hpp:449
Matx< float, 4, 3 > Matx43f
Definition: matx.hpp:251
Vec< uchar, 4 > Vec4b
Definition: matx.hpp:442
Matx< float, 3, 4 > Matx34f
Definition: matx.hpp:249
Matx< float, 6, 6 > Matx66f
Definition: matx.hpp:256
Matx< float, 1, 4 > Matx14f
Definition: matx.hpp:225
Vec< int, 6 > Vec6i
Definition: matx.hpp:455
Vec< double, 2 > Vec2d
Definition: matx.hpp:463
Matx< double, 4, 1 > Matx41d
Definition: matx.hpp:235
Matx< double, 6, 6 > Matx66d
Definition: matx.hpp:257
Matx< double, 3, 3 > Matx33d
Definition: matx.hpp:247
int int type
Definition: core_c.h:221
int depth
Definition: core_c.h:100
double alpha
Definition: core_c.h:1093
#define CV_MAKETYPE(depth, cn)
Definition: interface.h:85
CV_INLINE v_reg< _Tp, n > & operator-=(v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
CV_INLINE v_reg< _Tp, n > & operator*=(v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
CV_INLINE v_reg< _Tp, n > & operator/=(v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
CV_INLINE v_reg< _Tp, n > operator/(const v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
Divide values.
CV_INLINE v_reg< _Tp, n > & operator+=(v_reg< _Tp, n > &a, const v_reg< _Tp, n > &b)
#define CV_EXPORTS
Definition: cvdef.h:435
#define CV_NODISCARD_STD
Definition: cvdef.h:767
CvArr CvPoint2D32f double M
Definition: imgproc_c.h:270
const CvArr CvArr int method
Definition: imgproc_c.h:384
"black box" representation of the file storage associated with a file on disk.
Definition: calib3d.hpp:441
DualQuat< T > operator+(const T a, const DualQuat< T > &q)
Definition: dualquaternion.inl.hpp:243
DualQuat< T > operator*(const T a, const DualQuat< T > &q)
Definition: dualquaternion.inl.hpp:274
DualQuat< T > operator-(const DualQuat< T > &q, const T a)
Definition: dualquaternion.inl.hpp:255
Definition: traits.hpp:386