質問編集履歴
10
削除された内容の復元を行いました
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2枚の画像を比較し差異をグレー(同じ)、青→赤(赤になる程差が大きい)で表示する - Python
|
test
CHANGED
@@ -1,23 +1,71 @@
|
|
1
|
-
|
1
|
+
### Pythonで2枚の画像を比較し、差異を表示したい
|
2
2
|
|
3
|
+
Teratailでの初質問です。不適切な点があるかもしれませんが、ご容赦ください。
|
3
4
|
|
5
|
+
#### やりたいこと
|
4
6
|
|
5
|
-
|
7
|
+
大まかにはタイトルの通りですが、フローは次のようなものを想定しております。
|
6
8
|
|
7
|
-
|
9
|
+
1. 画像を2枚読み込む
|
8
10
|
|
9
|
-
|
11
|
+
2. 2枚の画像を”色”で比較する
|
10
12
|
|
11
|
-
|
13
|
+
3. 比較した結果を保存
|
12
14
|
|
15
|
+
4. 3のデータをもとに色に差が無いならグレー、差が小さければ水色、差が大きくなるにつれ赤色で表示
|
13
16
|
|
17
|
+
現状は画像を読み込む段階までで、「画像を比較」からその結果をもとに「画像を作成」することができておりません。
|
14
18
|
|
15
|
-
|
19
|
+
```Python
|
16
20
|
|
17
|
-
|
21
|
+
import cv2
|
18
22
|
|
23
|
+
import Numpy
|
19
24
|
|
25
|
+
img1 = cv2.imread(“img1.jpg”)
|
20
26
|
|
27
|
+
img2 = cv2.imread(“img2.jpg”)
|
21
28
|
|
29
|
+
```
|
22
30
|
|
31
|
+
Pythonは以前Seleniumで少し使ったのみのため全体像を捉えられておらず、何の用途でどんなライブラリ等を使うのかといったものが分かりません。
|
32
|
+
|
23
|
-
|
33
|
+
参考になる考え方やサイト、記事等がありましたらご教授頂けないかと思います。
|
34
|
+
|
35
|
+
10/6 15:44追記
|
36
|
+
|
37
|
+
どうにも低評価が付けられているようですが、現在OpenCVのドキュメントを読みながら試行錯誤中です...。
|
38
|
+
|
39
|
+
10/6 20:59追記
|
40
|
+
|
41
|
+
難しいですね。
|
42
|
+
|
43
|
+
画像を読み込みグレイスケールにしたあと2枚の画像を比較。その結果から画像を作成し色味を適応。そうして画像は出来たのですが、それには次の問題がありました。
|
44
|
+
|
45
|
+
1. 色が同じなら「白」にしたいが「青色」になる
|
46
|
+
|
47
|
+
2. (1)の色と、差分を表示する「青色」の部分の区別が付かない
|
48
|
+
|
49
|
+
原因は差分が入っているimg_diffをapplyColorMapで「青色」の色味に調整しているためだと思われます。
|
50
|
+
|
51
|
+
ここを独自に「同じ色なら白」にし、「色の差が小さければ水色で、大きければ赤に」といった処理を行うものに書き換えれば目的とする結果が得られるのでは無いかと思いました。
|
52
|
+
|
53
|
+
しかし、それをどうやって実装したら良いものか非常に頭を悩ませています。。
|
54
|
+
|
55
|
+
```Python
|
56
|
+
|
57
|
+
import cv2
|
58
|
+
|
59
|
+
import Numpy
|
60
|
+
|
61
|
+
img1 = cv2.imread(“img1.jpg”)
|
62
|
+
|
63
|
+
img2 = cv2.imread(“img2.jpg”)
|
64
|
+
|
65
|
+
img_diff = cv2.absdiff(img1, img2)
|
66
|
+
|
67
|
+
img3 = cv2.applyColorMap(img_diff, cv2.COLORMAP_JET)
|
68
|
+
|
69
|
+
cv2.imwrite(“img3”, img3)
|
70
|
+
|
71
|
+
```
|
9
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
不適切な質問であったため取り下げます
|
test
CHANGED
@@ -1,101 +1,23 @@
|
|
1
|
-
|
1
|
+
複数のユーザーから「丸投げ」とのご指摘を頂きましたのでこちらの質問は取り下げます。
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
+
自分がつくりたいものを作りたくてPythonを始め、分からないなりに可能な限り考え努力しました。
|
6
|
+
|
7
|
+
ただコードを貰おうとせずにどんなパーツが使えそうか聞き、それで似たようなものを作りたいと思っている人達に向け長時間画面と向き合いました。
|
8
|
+
|
9
|
+
しかし自分にはいささか難し過ぎたようです。
|
10
|
+
|
5
|
-
|
11
|
+
プログラミングを諦めなければならないのは寂しいものではありますが仕方ないのでしょう。
|
6
12
|
|
7
13
|
|
8
14
|
|
9
|
-
|
15
|
+
低評価を付けられたお二人、これで満足でしょうか。再び「不適切な質問」だと報告されるのでしょうが、構いません。
|
10
16
|
|
11
|
-
|
17
|
+
もう二度とこのサービスを使うことはありませんので。
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
1. 画像を2枚読み込む
|
16
|
-
|
17
|
-
2. 2枚の画像を”色”で比較する
|
18
|
-
|
19
|
-
3. 比較した結果を保存
|
20
|
-
|
21
|
-
4. 3のデータをもとに色に差が無いならグレー、差が小さければ水色、差が大きくなるにつれ赤色で表示
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
現状は画像を読み込む段階までで、「画像を比較」からその結果をもとに「画像を作成」することができておりません。
|
26
|
-
|
27
|
-
```Python
|
28
|
-
|
29
|
-
import cv2
|
30
|
-
|
31
|
-
import Numpy
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
img1 = cv2.imread(“img1.jpg”)
|
36
|
-
|
37
|
-
img2 = cv2.imread(“img2.jpg”)
|
38
|
-
|
39
|
-
```
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
Pythonは以前Seleniumで少し使ったのみのため全体像を捉えられておらず、何の用途でどんなライブラリ等を使うのかといったものが分かりません。
|
44
|
-
|
45
|
-
参考になる考え方やサイト、記事等がありましたらご教授頂けないかと思います。
|
46
18
|
|
47
19
|
|
48
20
|
|
49
21
|
|
50
22
|
|
51
|
-
|
52
|
-
|
53
|
-
10/6 15:44追記
|
54
|
-
|
55
|
-
どうにも低評価が付けられているようですが、現在OpenCVのドキュメントを読みながら試行錯誤中です...。
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
10/6 20:59追記
|
60
|
-
|
61
|
-
難しいですね。
|
62
|
-
|
63
|
-
画像を読み込みグレイスケールにしたあと2枚の画像を比較。その結果から画像を作成し色味を適応。そうして画像は出来たのですが、それには次の問題がありました。
|
64
|
-
|
65
|
-
1. 色が同じなら「白」にしたいが「青色」になる
|
66
|
-
|
67
|
-
2. (1)の色と、差分を表示する「青色」の部分の区別が付かない
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
原因は差分が入っているimg_diffをapplyColorMapで「青色」の色味に調整しているためだと思われます。
|
72
|
-
|
73
|
-
ここを独自に「同じ色なら白」にし、「色の差が小さければ水色で、大きければ赤に」といった処理を行うものに書き換えれば目的とする結果が得られるのでは無いかと思いました。
|
74
|
-
|
75
|
-
|
23
|
+
回答をくださったお二方、ありがとうございました。そして、申し訳ありません。
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
```Python
|
80
|
-
|
81
|
-
import cv2
|
82
|
-
|
83
|
-
import Numpy
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
img1 = cv2.imread(“img1.jpg”)
|
88
|
-
|
89
|
-
img2 = cv2.imread(“img2.jpg”)
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
img_diff = cv2.absdiff(img1, img2)
|
94
|
-
|
95
|
-
img3 = cv2.applyColorMap(img_diff, cv2.COLORMAP_JET)
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
cv2.imwrite(“img3”, img3)
|
100
|
-
|
101
|
-
```
|
8
test
CHANGED
File without changes
|
test
CHANGED
@@ -72,7 +72,7 @@
|
|
72
72
|
|
73
73
|
ここを独自に「同じ色なら白」にし、「色の差が小さければ水色で、大きければ赤に」といった処理を行うものに書き換えれば目的とする結果が得られるのでは無いかと思いました。
|
74
74
|
|
75
|
-
しかし、それをどうやって実装したら良いものか非常に頭を悩ませています。
|
75
|
+
しかし、それをどうやって実装したら良いものか非常に頭を悩ませています。。
|
76
76
|
|
77
77
|
|
78
78
|
|
7
test
CHANGED
File without changes
|
test
CHANGED
@@ -64,4 +64,38 @@
|
|
64
64
|
|
65
65
|
1. 色が同じなら「白」にしたいが「青色」になる
|
66
66
|
|
67
|
-
2. (1)の色と、差分を表示する「青色」の部分の区別が付かない
|
67
|
+
2. (1)の色と、差分を表示する「青色」の部分の区別が付かない
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
原因は差分が入っているimg_diffをapplyColorMapで「青色」の色味に調整しているためだと思われます。
|
72
|
+
|
73
|
+
ここを独自に「同じ色なら白」にし、「色の差が小さければ水色で、大きければ赤に」といった処理を行うものに書き換えれば目的とする結果が得られるのでは無いかと思いました。
|
74
|
+
|
75
|
+
しかし、それをどうやって実装したら良いものか非常に頭を悩ませています。
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
```Python
|
80
|
+
|
81
|
+
import cv2
|
82
|
+
|
83
|
+
import Numpy
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
img1 = cv2.imread(“img1.jpg”)
|
88
|
+
|
89
|
+
img2 = cv2.imread(“img2.jpg”)
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
img_diff = cv2.absdiff(img1, img2)
|
94
|
+
|
95
|
+
img3 = cv2.applyColorMap(img_diff, cv2.COLORMAP_JET)
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
cv2.imwrite(“img3”, img3)
|
100
|
+
|
101
|
+
```
|
6
test
CHANGED
File without changes
|
test
CHANGED
@@ -53,3 +53,15 @@
|
|
53
53
|
10/6 15:44追記
|
54
54
|
|
55
55
|
どうにも低評価が付けられているようですが、現在OpenCVのドキュメントを読みながら試行錯誤中です...。
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
10/6 20:59追記
|
60
|
+
|
61
|
+
難しいですね。
|
62
|
+
|
63
|
+
画像を読み込みグレイスケールにしたあと2枚の画像を比較。その結果から画像を作成し色味を適応。そうして画像は出来たのですが、それには次の問題がありました。
|
64
|
+
|
65
|
+
1. 色が同じなら「白」にしたいが「青色」になる
|
66
|
+
|
67
|
+
2. (1)の色と、差分を表示する「青色」の部分の区別が付かない
|
5
test
CHANGED
File without changes
|
test
CHANGED
@@ -22,9 +22,29 @@
|
|
22
22
|
|
23
23
|
|
24
24
|
|
25
|
-
|
25
|
+
現状は画像を読み込む段階までで、「画像を比較」からその結果をもとに「画像を作成」することができておりません。
|
26
26
|
|
27
|
+
```Python
|
28
|
+
|
29
|
+
import cv2
|
30
|
+
|
31
|
+
import Numpy
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
img1 = cv2.imread(“img1.jpg”)
|
36
|
+
|
37
|
+
img2 = cv2.imread(“img2.jpg”)
|
38
|
+
|
39
|
+
```
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
Pythonは以前Seleniumで少し使ったのみのため全体像を捉えられておらず、何の用途でどんなライブラリ等を使うのかといったものが分かりません。
|
44
|
+
|
27
|
-
|
45
|
+
参考になる考え方やサイト、記事等がありましたらご教授頂けないかと思います。
|
46
|
+
|
47
|
+
|
28
48
|
|
29
49
|
|
30
50
|
|
4
タイトルの「Python」はあまり重要でない(タグもあるし)だろうので最後に移動
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2枚の画像を比較し差異をグレー(同じ)、青→赤(赤になる程差が大きい)で表示する - Python
|
test
CHANGED
File without changes
|
3
誤字を訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
|
24
24
|
|
25
|
-
Pythonは以前Seleniumで少し使った程度で、またPythonに関する知識もあまりありません。趣味でこれが必要になったので、何か参考に
|
25
|
+
Pythonは以前Seleniumで少し使った程度で、またPythonに関する知識もあまりありません。趣味でこれが必要になったので、何か参考になる考え方やサイト、記事があればご教授頂ければと思います。
|
26
26
|
|
27
27
|
閲覧いただきありがとうございました。
|
28
28
|
|
2
「差異を比較する」では類似するのあるため色が同じならグレー、青→赤のグラデーション(赤ほど差が大きい)で表示という意味が伝わるように変更。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Pythonで2枚の画像を比較し差異を表示する
|
1
|
+
Pythonで2枚の画像を比較し差異をグレー(同じ)、青→赤(赤になる程差が大きい)で表示する
|
test
CHANGED
File without changes
|
1
15:44現在の状況を追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -25,3 +25,11 @@
|
|
25
25
|
Pythonは以前Seleniumで少し使った程度で、またPythonに関する知識もあまりありません。趣味でこれが必要になったので、何か参考にさる考え方やサイト、記事があればご教授頂ければと思います。
|
26
26
|
|
27
27
|
閲覧いただきありがとうございました。
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
10/6 15:44追記
|
34
|
+
|
35
|
+
どうにも低評価が付けられているようですが、現在OpenCVのドキュメントを読みながら試行錯誤中です...。
|