MCPcopy Create free account
hub / github.com/colmap/colmap / Rot90

Method Rot90

src/colmap/feature/types.cc:94–135  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

92}
93
94void FeatureKeypoint::Rot90(int k, int width, int height) {
95 k = k % 4;
96 if (k < 0) {
97 k += 4;
98 }
99 if (k == 0) {
100 return;
101 }
102 float new_x = x, new_y = y;
103 float new_a11 = a11, new_a12 = a12, new_a21 = a21, new_a22 = a22;
104 const float w = static_cast<float>(width);
105 const float h = static_cast<float>(height);
106
107 if (k == 1) { // 90 CCW
108 new_x = y;
109 new_y = w - x;
110 new_a11 = a21;
111 new_a12 = a22;
112 new_a21 = -a11;
113 new_a22 = -a12;
114 } else if (k == 2) { // 180 CCW
115 new_x = w - x;
116 new_y = h - y;
117 new_a11 = -a11;
118 new_a12 = -a12;
119 new_a21 = -a21;
120 new_a22 = -a22;
121 } else if (k == 3) { // 270 CCW
122 new_x = h - y;
123 new_y = x;
124 new_a11 = -a21;
125 new_a12 = -a22;
126 new_a21 = a11;
127 new_a22 = a12;
128 }
129 x = new_x;
130 y = new_y;
131 a11 = new_a11;
132 a12 = new_a12;
133 a21 = new_a21;
134 a22 = new_a22;
135}
136
137float FeatureKeypoint::ComputeScale() const {
138 return (ComputeScaleX() + ComputeScaleY()) / 2.0f;

Callers 2

FeaturesFromImageMethod · 0.45
TESTFunction · 0.45

Calls

no outgoing calls

Tested by 1

TESTFunction · 0.36