回答編集履歴

2

タイポ修正

2021/01/16 09:43

投稿

Surpris
Surpris

スコア106

test CHANGED
@@ -1,6 +1,6 @@
1
1
  置き換えの処理の部分を高速化したいとのことなので、その部分だけ対象として、次のような実装が考えられます。
2
2
 
3
- (`cv2.imread(file_path`) の部分は除いています。)
3
+ (`cv2.imread(file_path)`) の部分は除いています。)
4
4
 
5
5
 
6
6
 

1

import 文の追加

2021/01/16 09:43

投稿

Surpris
Surpris

スコア106

test CHANGED
@@ -1,16 +1,18 @@
1
1
  置き換えの処理の部分を高速化したいとのことなので、その部分だけ対象として、次のような実装が考えられます。
2
2
 
3
- (cv2.imread の部分は除いています。)
3
+ `cv2.imread(file_path`) の部分は除いています。)
4
4
 
5
5
 
6
6
 
7
7
  ①for-loop と if 文を除く:
8
8
 
9
- ```
9
+ ```Python
10
10
 
11
11
  import cv2, math
12
12
 
13
13
  import scipy.stats as sstats
14
+
15
+
14
16
 
15
17
 
16
18
 
@@ -38,7 +40,19 @@
38
40
 
39
41
  ②numba.jit を使用する:
40
42
 
41
- ```
43
+ ```Python
44
+
45
+ import cv2
46
+
47
+ import scipy.stats as sstats
48
+
49
+ import numpy
50
+
51
+ import numba
52
+
53
+
54
+
55
+
42
56
 
43
57
  @numba.jit("void(u1[:,:,:], i4[:,:], i4[:,:], i4[:,:], i4, i4, i4)")
44
58
 
@@ -80,9 +94,21 @@
80
94
 
81
95
  ```
82
96
 
97
+
98
+
83
99
  オリジナルの実装を `func0` としておきます(実装は次の通り):
84
100
 
85
- ```
101
+ ```Python
102
+
103
+ import cv2
104
+
105
+ import scipy.stats as sstats
106
+
107
+ import numpy
108
+
109
+
110
+
111
+
86
112
 
87
113
  def func0(bgr):
88
114
 
@@ -134,7 +160,7 @@
134
160
 
135
161
 
136
162
 
137
- ```
163
+ ```Python
138
164
 
139
165
  %timeit func0(bgr) # 1.84 s ± 46 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
140
166