/
test_affineConversion.py
115 lines (89 loc) · 2.32 KB
/
test_affineConversion.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
import func_homographyMatrix
import func_affineConversion
import numpy
#1.2 test
#case 1. lamda1 > lamda2
print 'case 1. lamda1 > lamda2\n'
tx = 200
ty = 100
theta = 35
phi = 32
lamda1 = 1
lamda2 = 0.5
print '<input parameters>'
print 'tx = ', tx
print 'ty = ', ty
print 'theta = ', theta
print 'phi = ', phi
print 'lamda1 = ', lamda1
print 'lamda2 = ', lamda2
param = func_affineConversion.convert_affine_to_general(tx, ty, theta, phi, lamda1, lamda2)
a1 = param[0]
a2 = param[1]
a3 = param[2]
a4 = param[3]
a5 = param[4]
a6 = param[5]
H = numpy.matrix(((a1, a2, a3),
(a4, a5, a6),
(0, 0, 1)))
print '\naffine H = \n', H
param = func_affineConversion.convert_affine_from_general(a1, a2, a3, a4, a5, a6)
tx = param[0]
ty = param[1]
theta = param[2]
phi = param[3]
lamda1 = param[4]
lamda2 = param[5]
#same with input parameters
print '\n<result of conversion from general parameterization>'
print 'tx = ', tx
print 'ty = ', ty
print 'theta = ', theta
print 'phi = ', phi
print 'lamda1 = ', lamda1
print 'lamda2 = ', lamda2
#same homography matrix
H_2 = func_homographyMatrix.make_homography(tx, ty, theta, phi, lamda1, lamda2)
print '\nnew affine H = \n', H_2
print '--------------------------------------------------------------'
#case 2. lamda1 < lamda2
print 'case 2. lamda1 < lamda2\n'
lamda1 = 0.5
lamda2 = 1
print '<input parameters>'
print 'tx = ', tx
print 'ty = ', ty
print 'theta = ', theta
print 'phi = ', phi
print 'lamda1 = ', lamda1
print 'lamda2 = ', lamda2
param = func_affineConversion.convert_affine_to_general(tx, ty, theta, phi, lamda1, lamda2)
a1 = param[0]
a2 = param[1]
a3 = param[2]
a4 = param[3]
a5 = param[4]
a6 = param[5]
H = numpy.matrix(((a1, a2, a3),
(a4, a5, a6),
(0, 0, 1)))
print '\naffine H = \n', H
param = func_affineConversion.convert_affine_from_general(a1, a2, a3, a4, a5, a6)
tx = param[0]
ty = param[1]
theta = param[2]
phi = param[3]
lamda1 = param[4]
lamda2 = param[5]
#different phi, lamda1, lamda2
print '\n<result of conversion from general parameterization>'
print 'tx = ', tx
print 'ty = ', ty
print 'theta = ', theta
print 'phi = ', phi
print 'lamda1 = ', lamda1
print 'lamda2 = ', lamda2
#same homography matrix
H_2 = func_homographyMatrix.make_homography(tx, ty, theta, phi, lamda1, lamda2)
print '\nnew affine H = \n', H_2