回答編集履歴

1

d

2020/09/29 06:52

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -49,3 +49,47 @@
49
49
  cv2.imwrite("ret.png", img)
50
50
 
51
51
  ```
52
+
53
+
54
+
55
+ ## 追記
56
+
57
+
58
+
59
+ > temp.shape[::-1]の[::-1]の意味がよくわからないです。スライスだと考えているのですが合っていますでしょうか?
60
+
61
+
62
+
63
+ リストやタプルを逆順にするスライス指定です。
64
+
65
+
66
+
67
+ ```python
68
+
69
+ a = (480, 640, 3)
70
+
71
+ print(a[::-1]) # (3, 640, 480)
72
+
73
+ ```
74
+
75
+
76
+
77
+ > また、[:2]と修正した時に何が変わったのでしょうか?
78
+
79
+
80
+
81
+ 元のコードだと、`temp.shape` の値は (H, W) となっていて、`w, h = temp.shape[::-1]` で逆順にして代入していましたが、カラー画像にしたことで `temp.shape` の値が (H, W, C) となったことでタプルの要素数が代入先と合わなくなりエラーになっていました。
82
+
83
+ これを `temp.shape[:2]` とスライスすることで、`(H, W)` となり、代入先と数をあわせました。
84
+
85
+
86
+
87
+ > あと、アスタリスクはlocというタプル内にあるデータをまとめて取得する物と考えていますが合っていますでしょうか?
88
+
89
+
90
+
91
+ 以下の記事を参照ください。
92
+
93
+
94
+
95
+ [Python3.xのアスタリスク逆引き - Qiita](https://qiita.com/LouiS0616/items/1bbe0a9bb93054f6c380)