回答編集履歴
1
自己解決になっていませんでした。
test
CHANGED
@@ -1,11 +1,25 @@
|
|
1
|
-
InputArray.Create()を用いることで、Cv2.EstimateAffinePartial2Dを用いることが出来た
|
1
|
+
InputArray.Create()を用いることで、Cv2.EstimateAffinePartial2Dを用いることが出来ました。
|
2
2
|
|
3
|
-
解決しました。
|
4
|
-
|
5
|
-
```
|
3
|
+
```C#
|
6
4
|
|
7
5
|
List<Point2f> p1 = new List<Point2f>(), p2 = new List<Point2f>();
|
8
6
|
|
9
7
|
Mat matHenkan = Cv2.EstimateAffinePartial2D(InputArray.Create(p1), InputArray.Create(p2))
|
10
8
|
|
11
9
|
```
|
10
|
+
|
11
|
+
ただ、変換結果は上手くいきませんでした。
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
```Python
|
16
|
+
|
17
|
+
mtx = cv2.estimateAffinePartial2D(
|
18
|
+
|
19
|
+
np.float32([kp1[m[0].queryIdx].pt for m in good]).reshape(-1, 1, 2),
|
20
|
+
|
21
|
+
np.float32([kp2[m[0].trainIdx].pt for m in good]).reshape(-1, 1, 2))[0]
|
22
|
+
|
23
|
+
```
|
24
|
+
|
25
|
+
参考元のPythonのソースでは、np.float32().reshape(-1, 1, 2)としているので、その辺りが問題なのでしょうか?
|