teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

内容の加筆

2020/05/31 07:23

投稿

satoUmino
satoUmino

スコア19

title CHANGED
File without changes
body CHANGED
@@ -2,11 +2,19 @@
2
2
  ヒートマップの画像のRGB値のうちBのみ指定した場合は上手くぼかしたものと入れ替えれたが、RとGの値両方指定し、ぼかしたものと入れ替えようとしたらプログラム自体は終了しているのですが入れ替わった画像が出力されませんでした。
3
3
 
4
4
  やりたい処理としましては、全体的にぼかし処理を加えた画像と何も処理していない元の画像を用意し、下のようなヒートマップ画像のRGB値のRとGが0となっている部分(主に濃い青色の部分)のみをぼかしている画像と入れ替え特定の部分をぼかした画像を作成したいと思っています。
5
- ![ヒートマップ画像](3021a6e2e87bab7bc622ec2387a1a011.jpeg)
5
+ ![ヒートマップ](f9d50bb4355ba3eadbebf99adccd0a81.jpeg)
6
6
  しかし、上記でも触れたようにBのみの値をを指定した場合ですと上手く特定の部分をボカせたのですが、RとGが0の部分のみぼかすといったことができないでいます。
7
7
 
8
8
  先ほど回答いただいたように訂正したところ青ではなく画像でいうと真っ赤な部分がぼけてしまいました。
9
9
 
10
+ ----
11
+ 追記
12
+ 下記回答のおかげで差し替えることができました。
13
+ しかし、画像は以下のようになり部分的に上手くいってないような感じがします。
14
+ 画像的には大部分ができているので問題はないのですがなるべく綺麗に差し替えれた方がいいのでもし、もう少し改善できるようであればご教授願いたいです。
15
+ 画像はぼかしではなくどこが再帰られているか見やすくするために緑の画像に差し替えたものです。
16
+ ![出力結果](cfa63298fe5f651e645c07fc6328d4be.jpeg)
17
+
10
18
  ### 該当のソースコード
11
19
 
12
20
  ```python
@@ -60,4 +68,13 @@
60
68
 
61
69
  if Bfig==128:
62
70
  cv2.imwrite(r"/Users/gazou.jpg',img2)
71
+ ```
72
+ ###回答から変更したコード(変更部分のみ)
73
+ ```python
74
+ b, g, r = cv2.split(imgheat)
75
+
76
+ # heatmap の red == 0 かつ green == 0 の画素は差し替える
77
+ img2[(g == 0) & (r == 0)] = blur1[(g == 0) & (r == 0)]
78
+ img2[(b == 128)] = blur1[(b == 128)]
79
+ cv2.imwrite(r"/Users/gazou.jpg',img2)
63
80
  ```

2

コードの訂正

2020/05/31 07:23

投稿

satoUmino
satoUmino

スコア19

title CHANGED
File without changes
body CHANGED
@@ -10,6 +10,27 @@
10
10
  ### 該当のソースコード
11
11
 
12
12
  ```python
13
+ import cv2
14
+ import numpy as np
15
+ import math
16
+
17
+ x=None
18
+ y=None
19
+ xmax=224
20
+ ymax=224
21
+ xcenter=112
22
+ ycenter=112
23
+ Rfigs=[0,128]
24
+ Gfigs=[0,128]
25
+
26
+ img = cv2.imread(r"/Users/1.jpg")#ぼかしたい画像
27
+ imgheat = cv2.imread(r"/Users/2jpg")#ヒートマップ画像
28
+ blur2 = cv2.imread(r"/Users/3.jpg")#ぼかしてある画像
29
+
30
+ img2 = cv2.resize(img,(224,224))
31
+ blur2 = cv2.resize(blur2,(224,224))
32
+ count = 0
33
+
13
34
  for Rfig in Rfigs:
14
35
  for Gfig in Gfigs:
15
36
  for x in range(xmax):

1

修正依頼があったため

2020/05/27 08:01

投稿

satoUmino
satoUmino

スコア19

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,12 @@
1
1
  ### ヒートマップの特定の色を指定し、その色と同じ位置を別の画像でぼかす
2
2
  ヒートマップの画像のRGB値のうちBのみ指定した場合は上手くぼかしたものと入れ替えれたが、RとGの値両方指定し、ぼかしたものと入れ替えようとしたらプログラム自体は終了しているのですが入れ替わった画像が出力されませんでした。
3
3
 
4
+ やりたい処理としましては、全体的にぼかし処理を加えた画像と何も処理していない元の画像を用意し、下のようなヒートマップ画像のRGB値のRとGが0となっている部分(主に濃い青色の部分)のみをぼかしている画像と入れ替え特定の部分をぼかした画像を作成したいと思っています。
5
+ ![ヒートマップ画像](3021a6e2e87bab7bc622ec2387a1a011.jpeg)
6
+ しかし、上記でも触れたようにBのみの値をを指定した場合ですと上手く特定の部分をボカせたのですが、RとGが0の部分のみぼかすといったことができないでいます。
4
7
 
8
+ 先ほど回答いただいたように訂正したところ青ではなく画像でいうと真っ赤な部分がぼけてしまいました。
9
+
5
10
  ### 該当のソースコード
6
11
 
7
12
  ```python