質問編集履歴

1

コード

2021/05/27 07:35

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- 画像の前処理について
1
+ 画像の前処理 位置補正
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  その前に行う前処理で、人の位置を画像に対してすべて同じ位置になるように
4
4
 
5
- 処理したいのですが、出来るょうか
5
+ 処理したいのですが、以下写真のようになってまいます
6
6
 
7
7
 
8
8
 
@@ -10,14 +10,90 @@
10
10
 
11
11
  簡単なことなのかもしれませんが分かる方は教えて頂きたいです。
12
12
 
13
- よろしくお願ます。
13
+ コードは、サイトに載ってるものをそのま使わせていただいてます。
14
14
 
15
15
 
16
16
 
17
- 以下のうな写真を使っています。
17
+ ろしくお願ます。
18
18
 
19
19
 
20
20
 
21
21
 
22
22
 
23
- ![イメージ説明](5f3a22f51d75ee6e0607d5678cbbffdc.jpeg)
23
+ ![イメージ説明](4d4a9b0fb85b722bc6d1ab9634c6a09a.jpeg)
24
+
25
+
26
+
27
+ ```ここに言語を入力
28
+
29
+ filename_li = ["image3.jpg", "image4.jpg", "cv.jpg"]
30
+
31
+ img_li = []
32
+
33
+ for i in filename_li:
34
+
35
+ img = cv2.imread(i, 0) # 第二引数を 0 にすることでグレースケールで読み込む
36
+
37
+ img_float = np.float32(img) # cv2.phaseCorrelate で指定されている型に変換
38
+
39
+ img_li.append(img_float)
40
+
41
+
42
+
43
+
44
+
45
+ dxdy_li = []
46
+
47
+ for img in img_li[1:]:
48
+
49
+ d, etc = cv2.phaseCorrelate(img, img_li[0]) # d にx方向およびy方向のズレが格納されている
50
+
51
+ dx, dy = d
52
+
53
+ dxdy_li.append([dx, dy])
54
+
55
+
56
+
57
+ rows, cols = img_li[0].shape
58
+
59
+ img_after_li = [img_li[0]]
60
+
61
+ for dxdy, img in zip(dxdy_li, img_li[1:]):
62
+
63
+ dx, dy = dxdy
64
+
65
+ M = np.float32([[1, 0, dx],[0, 1, dy]])
66
+
67
+ img = cv2.warpAffine(img, M, (cols,rows))
68
+
69
+ img_after_li.append(img)
70
+
71
+
72
+
73
+ fig = plt.figure(figsize = (6, 6))
74
+
75
+
76
+
77
+ subplot_li = [321, 323, 325]
78
+
79
+ for subplot, img in zip(subplot_li, img_li):
80
+
81
+ ax = fig.add_subplot(subplot)
82
+
83
+ ax.imshow(img)
84
+
85
+
86
+
87
+ subplot_after_li = [322, 324, 326]
88
+
89
+ for subplot_after, img_after in zip(subplot_after_li, img_after_li):
90
+
91
+ ax = fig.add_subplot(subplot_after)
92
+
93
+ ax.imshow(img_after)
94
+
95
+
96
+
97
+ plt.show()
98
+
99
+ ```