質問編集履歴
8
捕捉
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,7 +6,8 @@
|
|
6
6
|
いろいろと苦労してプログラムは動くようになったのですが、
|
7
7
|
計算速度が遅いです。早くする方法があればご教示ください。
|
8
8
|
なお、上の画像は閾値20000の場合です。
|
9
|
-
|
9
|
+
なお、Kirisakiさんの結果はこちらでした。
|
10
|
+

|
10
11
|
### 該当のソースコード
|
11
12
|
|
12
13
|
import cv2, math
|
7
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,6 +5,7 @@
|
|
5
5
|
典型的な色として黒以外の画素の最頻値を使っています。
|
6
6
|
いろいろと苦労してプログラムは動くようになったのですが、
|
7
7
|
計算速度が遅いです。早くする方法があればご教示ください。
|
8
|
+
なお、上の画像は閾値20000の場合です。
|
8
9
|
|
9
10
|
### 該当のソースコード
|
10
11
|
|
6
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-

|
1
|
+

|
2
|
-

|
2
|
+

|
3
3
|
Python初心者です。
|
4
4
|
画像で黒以外の似たような背景色を全部黒にするプログラムを作っています。
|
5
5
|
典型的な色として黒以外の画素の最頻値を使っています。
|
@@ -29,7 +29,7 @@
|
|
29
29
|
|
30
30
|
mb=((int(mode_b)-b[i,j])**2)
|
31
31
|
|
32
|
-
if(mr+mg+mb <
|
32
|
+
if(mr+mg+mb < 20000.):
|
33
33
|
bgr[i,j]=[0,0,0]
|
34
34
|
cv2.imwrite("B.jpg",bgr)
|
35
35
|
|
5
画像追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
### 前提・実現したいこと
|
1
|
+
### 前提・実現したいこと
|
2
|
-
|
2
|
+

|
3
3
|
Python初心者です。
|
4
4
|
画像で黒以外の似たような背景色を全部黒にするプログラムを作っています。
|
5
5
|
典型的な色として黒以外の画素の最頻値を使っています。
|
4
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -15,7 +15,9 @@
|
|
15
15
|
imax=bgr.shape[0]
|
16
16
|
jmax=bgr.shape[1]
|
17
17
|
|
18
|
+
|
18
19
|
rgb = bgr[:, :, [2, 1, 0]]
|
20
|
+
r,g,b=cv2.split(rgb)
|
19
21
|
mode_r=sstats.mode(r[r.nonzero()])[0][0]
|
20
22
|
mode_g=sstats.mode(g[g.nonzero()])[0][0]
|
21
23
|
mode_b=sstats.mode(b[b.nonzero()])[0][0]
|
3
数式が変な表示になっていたため
title
CHANGED
File without changes
|
body
CHANGED
@@ -34,5 +34,5 @@
|
|
34
34
|
### 試したこと
|
35
35
|
|
36
36
|
for文とif文を使わずに
|
37
|
-
bgr[mr**2+mg**2+mb**2<100.]=[0,0,0]
|
37
|
+
bgr[mr**2 + mg**2 + mb**2 < 100.]=[0,0,0]
|
38
38
|
を試したら早く計算が終わったのですが、意図した結果になりませんでした。
|
2
コードの改行
title
CHANGED
File without changes
|
body
CHANGED
@@ -22,8 +22,11 @@
|
|
22
22
|
for i in range(imax):
|
23
23
|
for j in range(jmax):
|
24
24
|
mr=((int(mode_r)-r[i,j])**2)
|
25
|
+
|
25
26
|
mg=((int(mode_g)-g[i,j])**2)
|
27
|
+
|
26
28
|
mb=((int(mode_b)-b[i,j])**2)
|
29
|
+
|
27
30
|
if(mr+mg+mb < 100.):
|
28
31
|
bgr[i,j]=[0,0,0]
|
29
32
|
cv2.imwrite("B.jpg",bgr)
|
1
てにをは
title
CHANGED
File without changes
|
body
CHANGED
@@ -30,6 +30,6 @@
|
|
30
30
|
|
31
31
|
### 試したこと
|
32
32
|
|
33
|
-
for文
|
33
|
+
for文とif文を使わずに
|
34
34
|
bgr[mr**2+mg**2+mb**2<100.]=[0,0,0]
|
35
35
|
を試したら早く計算が終わったのですが、意図した結果になりませんでした。
|