質問編集履歴

2

書式の改善

2021/02/14 13:27

投稿

yurimon
yurimon

スコア7

test CHANGED
File without changes
test CHANGED
@@ -7,6 +7,8 @@
7
7
  Jupiter notebookで動いたコードがgoogle colabで動かなくなりました。コードは以下の通りです。
8
8
 
9
9
  ##### コード
10
+
11
+ ```python
10
12
 
11
13
  import numpy as np
12
14
 
@@ -42,13 +44,39 @@
42
44
 
43
45
  d, etc = cv2.phaseCorrelate(img, img_li[0]) # d にx方向およびy方向のズレが格納されている
44
46
 
45
- →ここでエラーが出ました
46
-
47
47
  dx, dy = d
48
48
 
49
49
  dxdy_li.append([dx, dy])
50
50
 
51
+ rows, cols = img_li[0].shape
52
+
53
+ img_after_li = [img_li[0]]
54
+
55
+ for dxdy, img in zip(dxdy_li, img_li[1:]):
56
+
57
+ dx, dy = dxdy
58
+
59
+ M = np.float32([[1, 0, dx],[0, 1, dy]])
60
+
61
+ img = cv2.warpAffine(img, M, (cols,rows))
62
+
63
+ img_after_li.append(img)
64
+
65
+ fig = plt.figure(figsize = (6, 6))
66
+
67
+ plt.imshow(img_li[1])
68
+
69
+ plt.show()
70
+
71
+ ```
72
+
73
+
74
+
51
75
  ##### エラーメッセージ
76
+
77
+ d, etc = cv2.phaseCorrelate(img, img_li[0])
78
+
79
+ を実行した直後に以下のエラーがでます。
52
80
 
53
81
  TypeError: Expected Ptr<cv::UMat> for argument '%s'
54
82
 

1

書式の改善

2021/02/14 13:27

投稿

yurimon
yurimon

スコア7

test CHANGED
@@ -1 +1 @@
1
- 色ずれを補正するコードでTypeError: Expected Ptr<cv::UMat> for argument '%s'というエラーが出る
1
+ TypeError: Expected Ptr<cv::UMat> for argument '%s'というエラーを解決したい!
test CHANGED
@@ -1,3 +1,9 @@
1
+ ###### やりたいこと
2
+
3
+ open cv で画像を読み込ませて色ずれを補正したい。
4
+
5
+ ###### 具体的に困っていること
6
+
1
7
  Jupiter notebookで動いたコードがgoogle colabで動かなくなりました。コードは以下の通りです。
2
8
 
3
9
  ##### コード
@@ -36,11 +42,11 @@
36
42
 
37
43
  d, etc = cv2.phaseCorrelate(img, img_li[0]) # d にx方向およびy方向のズレが格納されている
38
44
 
45
+ →ここでエラーが出ました
46
+
39
47
  dx, dy = d
40
48
 
41
49
  dxdy_li.append([dx, dy])
42
-
43
- →ここでエラーが出ました
44
50
 
45
51
  ##### エラーメッセージ
46
52
 
@@ -48,4 +54,10 @@
48
54
 
49
55
 
50
56
 
51
- どのように対処すれば良いしょうか?
57
+ ##### 自分調べてみたこと
58
+
59
+
60
+
61
+ https://www.rubydoc.info/gems/ropencv/0.0.21/OpenCV%2FCv%2Ephase_correlateでphaseCorrelateは調べてみました。
62
+
63
+ teratailでも以前似たようなエラーが報告されていて、原因は引数にあるようでした。どのように修正すれば良いのかわからず教えていらだけないでしょうか?