回答編集履歴

4

修正

2020/05/31 07:52

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -40,7 +40,7 @@
40
40
 
41
41
  # heatmap の (R, G, B) = (0, 0, 128) の画素は差し替える
42
42
 
43
- mask = (b == 128) & (r == 0) & (r == 0)
43
+ mask = (r == 0) & (g == 0) & (b == 128)
44
44
 
45
45
  img1[mask] = img2[mask]
46
46
 

3

修正

2020/05/31 07:52

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- R が0かつG 0の画素は用意した別の画像の画素と差し替えるということであれば、以下のようにすればいいと思います。
5
+ (R, G, B) = (0, 0, 128) の画素は用意した別の画像の画素と差し替えるということであれば、以下のようにすればいいと思います。
6
6
 
7
7
 
8
8
 
@@ -38,9 +38,11 @@
38
38
 
39
39
 
40
40
 
41
- # heatmap の red == 0 かつ green == 0 の画素は差し替える
41
+ # heatmap の (R, G, B) = (0, 0, 128) の画素は差し替える
42
42
 
43
- img1[(g == 0) & (r == 0)] = img2[(g == 0) & (r == 0)]
43
+ mask = (b == 128) & (r == 0) & (r == 0)
44
+
45
+ img1[mask] = img2[mask]
44
46
 
45
47
 
46
48
 

2

d

2020/05/31 07:51

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- # ヒートマップ画像
29
+ # ヒートマップ画像の代わり
30
30
 
31
31
  heatmap = np.random.randint(0, 256, (500, 500, 3), dtype=np.uint8)
32
32
 
@@ -38,7 +38,7 @@
38
38
 
39
39
 
40
40
 
41
- # red == 0 かつ green == 0 の画素は差し替える
41
+ # heatmap の red == 0 かつ green == 0 の画素は差し替える
42
42
 
43
43
  img1[(g == 0) & (r == 0)] = img2[(g == 0) & (r == 0)]
44
44
 

1

d

2020/05/27 08:11

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -14,27 +14,33 @@
14
14
 
15
15
 
16
16
 
17
- # 画像の代わり (実際に使う画像に置き換えてください)
17
+ # 画像の代わり
18
18
 
19
- img = np.random.randint(0, 256, (500, 500, 3), dtype=np.uint8)
19
+ img1 = np.random.randint(0, 256, (500, 500, 3), dtype=np.uint8)
20
20
 
21
21
 
22
22
 
23
- # 差し替える画像の代わり (実際に使う画像に置き換えてください)
23
+ # 差し替える画像の代わり
24
24
 
25
- alt = np.random.randint(0, 256, (500, 500, 3), dtype=np.uint8)
25
+ img2 = np.random.randint(0, 256, (500, 500, 3), dtype=np.uint8)
26
26
 
27
27
 
28
28
 
29
- # チャンネルごとに分解する。
29
+ # ヒートマップ画像
30
30
 
31
+ heatmap = np.random.randint(0, 256, (500, 500, 3), dtype=np.uint8)
32
+
33
+
34
+
35
+ # heatmap をチャンネルごとに分解する。
36
+
31
- b, g, r = cv2.split(img)
37
+ b, g, r = cv2.split(heatmap)
32
38
 
33
39
 
34
40
 
35
41
  # red == 0 かつ green == 0 の画素は差し替える
36
42
 
37
- img[(g == 0) & (r == 0)] = alt[(g == 0) & (r == 0)]
43
+ img1[(g == 0) & (r == 0)] = img2[(g == 0) & (r == 0)]
38
44
 
39
45
 
40
46