Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
b486a966
Commit
b486a966
authored
Aug 08, 2011
by
Andrey Kamaev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Java API: refactored Core tests
parent
93a0237b
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
59 additions
and
46 deletions
+59
-46
OpenCVTestCase.java
...java/android_test/src/org/opencv/test/OpenCVTestCase.java
+55
-31
CoreTest.java
.../java/android_test/src/org/opencv/test/core/CoreTest.java
+0
-0
ImgprocTest.java
...android_test/src/org/opencv/test/imgproc/ImgprocTest.java
+0
-14
gen_java.py
modules/java/gen_java.py
+4
-1
No files found.
modules/java/android_test/src/org/opencv/test/OpenCVTestCase.java
View file @
b486a966
...
@@ -42,7 +42,8 @@ public class OpenCVTestCase extends TestCase {
...
@@ -42,7 +42,8 @@ public class OpenCVTestCase extends TestCase {
// - rename matrices
// - rename matrices
// - create methods gray0() and create src1 explicitly
// - create methods gray0() and create src1 explicitly
// - create some masks
// - create some masks
// - use truth member everywhere - remove truth from base class - each test fixture should use own truth filed
// - use truth member everywhere - remove truth from base class - each test
// fixture should use own truth filed
protected
Mat
gray0
;
protected
Mat
gray0
;
protected
Mat
gray1
;
protected
Mat
gray1
;
...
@@ -101,7 +102,7 @@ public class OpenCVTestCase extends TestCase {
...
@@ -101,7 +102,7 @@ public class OpenCVTestCase extends TestCase {
grayRnd
=
new
Mat
(
matSize
,
matSize
,
CvType
.
CV_8U
);
grayRnd
=
new
Mat
(
matSize
,
matSize
,
CvType
.
CV_8U
);
Core
.
randu
(
grayRnd
,
0
,
256
);
Core
.
randu
(
grayRnd
,
0
,
256
);
gray_16u_256
=
new
Mat
(
matSize
,
matSize
,
CvType
.
CV_16U
,
new
Scalar
(
256
));
gray_16u_256
=
new
Mat
(
matSize
,
matSize
,
CvType
.
CV_16U
,
new
Scalar
(
256
));
gray_16s_1024
=
new
Mat
(
matSize
,
matSize
,
CvType
.
CV_16S
,
new
Scalar
(
1024
));
gray_16s_1024
=
new
Mat
(
matSize
,
matSize
,
CvType
.
CV_16S
,
new
Scalar
(
1024
));
...
@@ -116,7 +117,7 @@ public class OpenCVTestCase extends TestCase {
...
@@ -116,7 +117,7 @@ public class OpenCVTestCase extends TestCase {
Core
.
randu
(
grayRnd_32f
,
0
,
256
);
Core
.
randu
(
grayRnd_32f
,
0
,
256
);
gray0_64f
=
new
Mat
(
matSize
,
matSize
,
CvType
.
CV_64F
,
new
Scalar
(
0.0
));
gray0_64f
=
new
Mat
(
matSize
,
matSize
,
CvType
.
CV_64F
,
new
Scalar
(
0.0
));
gray0_32f_1d
=
new
Mat
(
1
,
matSize
,
CvType
.
CV_32F
,
new
Scalar
(
0.0
));
gray0_32f_1d
=
new
Mat
(
1
,
matSize
,
CvType
.
CV_32F
,
new
Scalar
(
0.0
));
gray0_64f_1d
=
new
Mat
(
1
,
matSize
,
CvType
.
CV_64F
,
new
Scalar
(
0.0
));
gray0_64f_1d
=
new
Mat
(
1
,
matSize
,
CvType
.
CV_64F
,
new
Scalar
(
0.0
));
...
@@ -167,30 +168,41 @@ public class OpenCVTestCase extends TestCase {
...
@@ -167,30 +168,41 @@ public class OpenCVTestCase extends TestCase {
super
.
tearDown
();
super
.
tearDown
();
}
}
protected
Mat
getMat
(
int
type
,
double
...
vals
)
{
return
new
Mat
(
matSize
,
matSize
,
type
,
new
Scalar
(
vals
));
}
protected
Mat
makeMask
(
Mat
m
,
double
...
vals
)
{
m
.
submat
(
0
,
m
.
rows
(),
0
,
m
.
cols
()
/
2
).
setTo
(
new
Scalar
(
vals
));
return
m
;
}
public
static
<
E
extends
Number
>
void
assertListEquals
(
List
<
E
>
list1
,
List
<
E
>
list2
)
{
public
static
<
E
extends
Number
>
void
assertListEquals
(
List
<
E
>
list1
,
List
<
E
>
list2
)
{
if
(
list1
.
size
()
!=
list2
.
size
())
{
if
(
list1
.
size
()
!=
list2
.
size
())
{
throw
new
UnsupportedOperationException
();
throw
new
UnsupportedOperationException
();
}
}
if
(!
list1
.
isEmpty
())
if
(!
list1
.
isEmpty
())
{
{
if
(
list1
.
get
(
0
)
instanceof
Float
||
list1
.
get
(
0
)
instanceof
Double
)
if
(
list1
.
get
(
0
)
instanceof
Float
||
list1
.
get
(
0
)
instanceof
Double
)
throw
new
UnsupportedOperationException
();
throw
new
UnsupportedOperationException
();
}
}
for
(
int
i
=
0
;
i
<
list1
.
size
();
i
++)
for
(
int
i
=
0
;
i
<
list1
.
size
();
i
++)
assertEquals
(
list1
.
get
(
i
),
list2
.
get
(
i
));
assertEquals
(
list1
.
get
(
i
),
list2
.
get
(
i
));
}
}
public
static
<
E
extends
Number
>
void
assertListEquals
(
List
<
E
>
list1
,
List
<
E
>
list2
,
double
epsilon
)
{
public
static
<
E
extends
Number
>
void
assertListEquals
(
List
<
E
>
list1
,
List
<
E
>
list2
,
double
epsilon
)
{
if
(
list1
.
size
()
!=
list2
.
size
())
{
if
(
list1
.
size
()
!=
list2
.
size
())
{
throw
new
UnsupportedOperationException
();
throw
new
UnsupportedOperationException
();
}
}
for
(
int
i
=
0
;
i
<
list1
.
size
();
i
++)
for
(
int
i
=
0
;
i
<
list1
.
size
();
i
++)
assertTrue
(
Math
.
abs
(
list1
.
get
(
i
).
doubleValue
()
-
list2
.
get
(
i
).
doubleValue
())
<=
epsilon
);
assertTrue
(
Math
.
abs
(
list1
.
get
(
i
).
doubleValue
()
-
list2
.
get
(
i
).
doubleValue
())
<=
epsilon
);
}
}
public
static
void
assertListMatEquals
(
List
<
Mat
>
list1
,
List
<
Mat
>
list2
,
double
epsilon
)
{
public
static
void
assertListMatEquals
(
List
<
Mat
>
list1
,
List
<
Mat
>
list2
,
double
epsilon
)
{
if
(
list1
.
size
()
!=
list2
.
size
())
{
if
(
list1
.
size
()
!=
list2
.
size
())
{
throw
new
UnsupportedOperationException
();
throw
new
UnsupportedOperationException
();
...
@@ -213,18 +225,19 @@ public class OpenCVTestCase extends TestCase {
...
@@ -213,18 +225,19 @@ public class OpenCVTestCase extends TestCase {
if
(
list1
.
size
()
!=
list2
.
size
())
{
if
(
list1
.
size
()
!=
list2
.
size
())
{
throw
new
UnsupportedOperationException
();
throw
new
UnsupportedOperationException
();
}
}
for
(
int
i
=
0
;
i
<
list1
.
size
();
i
++)
for
(
int
i
=
0
;
i
<
list1
.
size
();
i
++)
assertRectEquals
(
list1
.
get
(
i
),
list2
.
get
(
i
));
assertRectEquals
(
list1
.
get
(
i
),
list2
.
get
(
i
));
}
}
public
static
void
assertRectEquals
(
Rect
expected
,
Rect
actual
)
{
public
static
void
assertRectEquals
(
Rect
expected
,
Rect
actual
)
{
assertEquals
(
expected
.
x
,
actual
.
x
);
String
msg
=
"expected:<"
+
expected
+
"> but was:<"
+
actual
+
">"
;
assertEquals
(
expected
.
y
,
actual
.
y
);
assertEquals
(
msg
,
expected
.
x
,
actual
.
x
);
assertEquals
(
expected
.
width
,
actual
.
width
);
assertEquals
(
msg
,
expected
.
y
,
actual
.
y
);
assertEquals
(
expected
.
height
,
actual
.
height
);
assertEquals
(
msg
,
expected
.
width
,
actual
.
width
);
assertEquals
(
msg
,
expected
.
height
,
actual
.
height
);
}
}
public
static
void
assertMatEqual
(
Mat
m1
,
Mat
m2
)
{
public
static
void
assertMatEqual
(
Mat
m1
,
Mat
m2
)
{
compareMats
(
m1
,
m2
,
true
);
compareMats
(
m1
,
m2
,
true
);
}
}
...
@@ -242,27 +255,37 @@ public class OpenCVTestCase extends TestCase {
...
@@ -242,27 +255,37 @@ public class OpenCVTestCase extends TestCase {
}
}
public
static
void
assertKeyPointEqual
(
KeyPoint
expected
,
KeyPoint
actual
,
double
eps
)
{
public
static
void
assertKeyPointEqual
(
KeyPoint
expected
,
KeyPoint
actual
,
double
eps
)
{
assertTrue
(
Math
.
hypot
(
expected
.
pt
.
x
-
actual
.
pt
.
x
,
expected
.
pt
.
y
-
actual
.
pt
.
y
)
<
eps
);
String
msg
=
"expected:<"
+
expected
+
"> but was:<"
+
actual
+
">"
;
assertTrue
(
Math
.
abs
(
expected
.
size
-
actual
.
size
)
<
eps
);
assertTrue
(
msg
,
Math
.
hypot
(
expected
.
pt
.
x
-
actual
.
pt
.
x
,
expected
.
pt
.
y
-
actual
.
pt
.
y
)
<
eps
);
assertTrue
(
Math
.
abs
(
expected
.
angle
-
actual
.
angle
)
<
eps
);
assertTrue
(
msg
,
Math
.
abs
(
expected
.
size
-
actual
.
size
)
<
eps
);
assertTrue
(
Math
.
abs
(
expected
.
response
-
actual
.
response
)
<
eps
);
assertTrue
(
msg
,
Math
.
abs
(
expected
.
angle
-
actual
.
angle
)
<
eps
);
assertEquals
(
expected
.
octave
,
actual
.
octave
);
assertTrue
(
msg
,
Math
.
abs
(
expected
.
response
-
actual
.
response
)
<
eps
);
assertEquals
(
expected
.
class_id
,
actual
.
class_id
);
assertEquals
(
msg
,
expected
.
octave
,
actual
.
octave
);
assertEquals
(
msg
,
expected
.
class_id
,
actual
.
class_id
);
}
}
public
static
void
assertListKeyPointEquals
(
List
<
KeyPoint
>
expected
,
List
<
KeyPoint
>
actual
,
double
epsilon
)
{
public
static
void
assertListKeyPointEquals
(
List
<
KeyPoint
>
expected
,
List
<
KeyPoint
>
actual
,
double
epsilon
)
{
assertEquals
(
expected
.
size
(),
actual
.
size
());
assertEquals
(
expected
.
size
(),
actual
.
size
());
for
(
int
i
=
0
;
i
<
expected
.
size
();
i
++)
for
(
int
i
=
0
;
i
<
expected
.
size
();
i
++)
assertKeyPointEqual
(
expected
.
get
(
i
),
actual
.
get
(
i
),
epsilon
);
assertKeyPointEqual
(
expected
.
get
(
i
),
actual
.
get
(
i
),
epsilon
);
}
}
public
static
void
assertDMatchEqual
(
DMatch
expected
,
DMatch
actual
,
double
eps
)
{
public
static
void
assertDMatchEqual
(
DMatch
expected
,
DMatch
actual
,
double
eps
)
{
assertEquals
(
expected
.
queryIdx
,
actual
.
queryIdx
);
String
msg
=
"expected:<"
+
expected
+
"> but was:<"
+
actual
+
">"
;
assertEquals
(
expected
.
trainIdx
,
actual
.
trainIdx
);
assertEquals
(
msg
,
expected
.
queryIdx
,
actual
.
queryIdx
);
assertEquals
(
expected
.
imgIdx
,
actual
.
imgIdx
);
assertEquals
(
msg
,
expected
.
trainIdx
,
actual
.
trainIdx
);
assertTrue
(
Math
.
abs
(
expected
.
distance
-
actual
.
distance
)
<
eps
);
assertEquals
(
msg
,
expected
.
imgIdx
,
actual
.
imgIdx
);
assertTrue
(
msg
,
Math
.
abs
(
expected
.
distance
-
actual
.
distance
)
<
eps
);
}
}
public
static
void
assertScalarEqual
(
Scalar
expected
,
Scalar
actual
,
double
eps
)
{
String
msg
=
"expected:<"
+
expected
+
"> but was:<"
+
actual
+
">"
;
assertTrue
(
msg
,
Math
.
abs
(
expected
.
val
[
0
]
-
actual
.
val
[
0
])
<
eps
);
assertTrue
(
msg
,
Math
.
abs
(
expected
.
val
[
1
]
-
actual
.
val
[
1
])
<
eps
);
assertTrue
(
msg
,
Math
.
abs
(
expected
.
val
[
2
]
-
actual
.
val
[
2
])
<
eps
);
assertTrue
(
msg
,
Math
.
abs
(
expected
.
val
[
3
]
-
actual
.
val
[
3
])
<
eps
);
}
public
static
void
assertListDMatchEquals
(
List
<
DMatch
>
expected
,
List
<
DMatch
>
actual
,
double
epsilon
)
{
public
static
void
assertListDMatchEquals
(
List
<
DMatch
>
expected
,
List
<
DMatch
>
actual
,
double
epsilon
)
{
assertEquals
(
expected
.
size
(),
actual
.
size
());
assertEquals
(
expected
.
size
(),
actual
.
size
());
for
(
int
i
=
0
;
i
<
expected
.
size
();
i
++)
for
(
int
i
=
0
;
i
<
expected
.
size
();
i
++)
...
@@ -270,13 +293,14 @@ public class OpenCVTestCase extends TestCase {
...
@@ -270,13 +293,14 @@ public class OpenCVTestCase extends TestCase {
}
}
public
static
void
assertPointEquals
(
Point
expected
,
Point
actual
,
double
eps
)
{
public
static
void
assertPointEquals
(
Point
expected
,
Point
actual
,
double
eps
)
{
assertEquals
(
expected
.
x
,
actual
.
x
,
eps
);
String
msg
=
"expected:<"
+
expected
+
"> but was:<"
+
actual
+
">"
;
assertEquals
(
expected
.
y
,
actual
.
y
,
eps
);
assertEquals
(
msg
,
expected
.
x
,
actual
.
x
,
eps
);
assertEquals
(
msg
,
expected
.
y
,
actual
.
y
,
eps
);
}
}
static
private
void
compareMats
(
Mat
expected
,
Mat
actual
,
boolean
isEqualityMeasured
)
{
static
private
void
compareMats
(
Mat
expected
,
Mat
actual
,
boolean
isEqualityMeasured
)
{
if
(
expected
.
type
()
!=
actual
.
type
()
||
expected
.
cols
()
!=
actual
.
cols
()
||
expected
.
rows
()
!=
actual
.
rows
())
{
if
(
expected
.
type
()
!=
actual
.
type
()
||
expected
.
cols
()
!=
actual
.
cols
()
||
expected
.
rows
()
!=
actual
.
rows
())
{
throw
new
UnsupportedOperationException
();
throw
new
UnsupportedOperationException
(
"Can not compare "
+
expected
+
" and "
+
actual
);
}
}
if
(
expected
.
depth
()
==
CvType
.
CV_32F
||
expected
.
depth
()
==
CvType
.
CV_64F
)
{
if
(
expected
.
depth
()
==
CvType
.
CV_32F
||
expected
.
depth
()
==
CvType
.
CV_64F
)
{
...
@@ -304,7 +328,7 @@ public class OpenCVTestCase extends TestCase {
...
@@ -304,7 +328,7 @@ public class OpenCVTestCase extends TestCase {
static
private
void
compareMats
(
Mat
expected
,
Mat
actual
,
double
eps
,
boolean
isEqualityMeasured
)
{
static
private
void
compareMats
(
Mat
expected
,
Mat
actual
,
double
eps
,
boolean
isEqualityMeasured
)
{
if
(
expected
.
type
()
!=
actual
.
type
()
||
expected
.
cols
()
!=
actual
.
cols
()
||
expected
.
rows
()
!=
actual
.
rows
())
{
if
(
expected
.
type
()
!=
actual
.
type
()
||
expected
.
cols
()
!=
actual
.
cols
()
||
expected
.
rows
()
!=
actual
.
rows
())
{
throw
new
UnsupportedOperationException
();
throw
new
UnsupportedOperationException
(
"Can not compare "
+
expected
+
" and "
+
actual
);
}
}
Mat
diff
=
new
Mat
();
Mat
diff
=
new
Mat
();
...
...
modules/java/android_test/src/org/opencv/test/core/CoreTest.java
View file @
b486a966
This diff is collapsed.
Click to expand it.
modules/java/android_test/src/org/opencv/test/imgproc/ImgprocTest.java
View file @
b486a966
...
@@ -16,7 +16,6 @@ import org.opencv.core.Size;
...
@@ -16,7 +16,6 @@ import org.opencv.core.Size;
import
org.opencv.core.TermCriteria
;
import
org.opencv.core.TermCriteria
;
import
org.opencv.imgproc.Imgproc
;
import
org.opencv.imgproc.Imgproc
;
import
org.opencv.test.OpenCVTestCase
;
import
org.opencv.test.OpenCVTestCase
;
import
org.opencv.test.OpenCVTestRunner
;
public
class
ImgprocTest
extends
OpenCVTestCase
{
public
class
ImgprocTest
extends
OpenCVTestCase
{
...
@@ -33,17 +32,6 @@ public class ImgprocTest extends OpenCVTestCase {
...
@@ -33,17 +32,6 @@ public class ImgprocTest extends OpenCVTestCase {
size
=
new
Size
(
3
,
3
);
size
=
new
Size
(
3
,
3
);
}
}
private
Mat
getMat
(
int
type
,
double
...
vals
)
{
return
new
Mat
(
matSize
,
matSize
,
type
,
new
Scalar
(
vals
));
}
private
Mat
makeMask
(
Mat
m
,
double
...
vals
)
{
m
.
submat
(
0
,
m
.
rows
(),
0
,
m
.
cols
()
/
2
).
setTo
(
new
Scalar
(
vals
));
return
m
;
}
public
void
testAccumulateMatMat
()
{
public
void
testAccumulateMatMat
()
{
Mat
src
=
getMat
(
CvType
.
CV_64F
,
2
);
Mat
src
=
getMat
(
CvType
.
CV_64F
,
2
);
Mat
dst
=
getMat
(
CvType
.
CV_64F
,
0
);
Mat
dst
=
getMat
(
CvType
.
CV_64F
,
0
);
...
@@ -1321,7 +1309,6 @@ public class ImgprocTest extends OpenCVTestCase {
...
@@ -1321,7 +1309,6 @@ public class ImgprocTest extends OpenCVTestCase {
Core
.
circle
(
gray0
,
new
Point
(
matSize
/
2
,
matSize
/
2
),
2
,
colorWhite
,
Core
.
FILLED
);
Core
.
circle
(
gray0
,
new
Point
(
matSize
/
2
,
matSize
/
2
),
2
,
colorWhite
,
Core
.
FILLED
);
Imgproc
.
inpaint
(
gray255
,
gray0
,
dst
,
3
,
Imgproc
.
INPAINT_TELEA
);
Imgproc
.
inpaint
(
gray255
,
gray0
,
dst
,
3
,
Imgproc
.
INPAINT_TELEA
);
OpenCVTestRunner
.
Log
(
dst
);
// TODO:remove
assertMatEqual
(
getMat
(
CvType
.
CV_8U
,
255
),
dst
);
assertMatEqual
(
getMat
(
CvType
.
CV_8U
,
255
),
dst
);
}
}
...
@@ -1849,7 +1836,6 @@ public class ImgprocTest extends OpenCVTestCase {
...
@@ -1849,7 +1836,6 @@ public class ImgprocTest extends OpenCVTestCase {
public
void
testResizeMatMatSizeDoubleDouble
()
{
public
void
testResizeMatMatSizeDoubleDouble
()
{
Imgproc
.
resize
(
gray255
,
dst
,
new
Size
(),
0.5
,
0.5
);
Imgproc
.
resize
(
gray255
,
dst
,
new
Size
(),
0.5
,
0.5
);
OpenCVTestRunner
.
Log
(
dst
);
truth
=
new
Mat
((
int
)
(
matSize
*
0.5
),
(
int
)
(
matSize
*
0.5
),
CvType
.
CV_8U
,
new
Scalar
(
255
));
truth
=
new
Mat
((
int
)
(
matSize
*
0.5
),
(
int
)
(
matSize
*
0.5
),
CvType
.
CV_8U
,
new
Scalar
(
255
));
assertMatEqual
(
truth
,
dst
);
assertMatEqual
(
truth
,
dst
);
...
...
modules/java/gen_java.py
View file @
b486a966
...
@@ -124,6 +124,7 @@ missing_consts = \
...
@@ -124,6 +124,7 @@ missing_consts = \
(
'SVD_MODIFY_A'
,
1
),
(
'SVD_NO_UV'
,
2
),
(
'SVD_FULL_UV'
,
4
),
(
'SVD_MODIFY_A'
,
1
),
(
'SVD_NO_UV'
,
2
),
(
'SVD_FULL_UV'
,
4
),
(
'FILLED'
,
-
1
),
(
'FILLED'
,
-
1
),
(
'LINE_AA'
,
16
),
(
'LINE_8'
,
8
),
(
'LINE_4'
,
4
),
(
'LINE_AA'
,
16
),
(
'LINE_8'
,
8
),
(
'LINE_4'
,
4
),
(
'REDUCE_SUM'
,
0
),
(
'REDUCE_AVG'
,
1
),
(
'REDUCE_MAX'
,
2
),
(
'REDUCE_MIN'
,
3
),
)
#public
)
#public
},
# Core
},
# Core
...
@@ -461,7 +462,6 @@ JNIEXPORT jdoubleArray JNICALL Java_org_opencv_core_Core_n_1getTextSize
...
@@ -461,7 +462,6 @@ JNIEXPORT jdoubleArray JNICALL Java_org_opencv_core_Core_n_1getTextSize
"checkHardwareSupport"
:
{
'j_code'
:
''
,
'jn_code'
:
''
,
'cpp_code'
:
''
},
"checkHardwareSupport"
:
{
'j_code'
:
''
,
'jn_code'
:
''
,
'cpp_code'
:
''
},
"setUseOptimized"
:
{
'j_code'
:
''
,
'jn_code'
:
''
,
'cpp_code'
:
''
},
"setUseOptimized"
:
{
'j_code'
:
''
,
'jn_code'
:
''
,
'cpp_code'
:
''
},
"useOptimized"
:
{
'j_code'
:
''
,
'jn_code'
:
''
,
'cpp_code'
:
''
},
"useOptimized"
:
{
'j_code'
:
''
,
'jn_code'
:
''
,
'cpp_code'
:
''
},
"vconcat"
:
{
'j_code'
:
''
,
'jn_code'
:
''
,
'cpp_code'
:
''
},
},
# Core
},
# Core
...
@@ -695,6 +695,9 @@ func_arg_fix = {
...
@@ -695,6 +695,9 @@ func_arg_fix = {
'pointPolygonTest'
:
{
'contour'
:
'vector_Point2f'
,
},
'pointPolygonTest'
:
{
'contour'
:
'vector_Point2f'
,
},
'minAreaRect'
:
{
'points'
:
'vector_Point2f'
,
},
'minAreaRect'
:
{
'points'
:
'vector_Point2f'
,
},
'getAffineTransform'
:
{
'src'
:
'vector_Point2f'
,
'dst'
:
'vector_Point2f'
,
},
'getAffineTransform'
:
{
'src'
:
'vector_Point2f'
,
'dst'
:
'vector_Point2f'
,
},
'hconcat'
:
{
'src'
:
'vector_Mat'
,
},
'vconcat'
:
{
'src'
:
'vector_Mat'
,
},
},
# '', i.e. no class
},
# '', i.e. no class
}
# func_arg_fix
}
# func_arg_fix
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment