質問編集履歴
3
内容修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
リストから最小のものを選
|
1
|
+
リストから最小のものを選んでその最小のもの円を描画
|
body
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
ハフ変換で検出した円で平均の輝度値が最も低いものを選んで円として描画したいです。
|
2
2
|
|
3
|
+
ハフ変換で取得した円の平均輝度値を取得してリストボックスにappendまでしています。
|
4
|
+
ここからリストの最小の平均輝度値の円を選択して描画したいと思っています。
|
5
|
+
|
6
|
+
リストから最小の値を選ぶのはmin()でいいと思いますが、
|
7
|
+
選んだ値の円を描画する方法がわかりません。
|
8
|
+
|
3
9
|
ご教授お願いします。
|
4
10
|
|
5
11
|
|
@@ -9,21 +15,8 @@
|
|
9
15
|
|
10
16
|
mean_box = []
|
11
17
|
|
12
|
-
def calc_mean
|
18
|
+
def calc_meanは平均輝度値の平均を計算する関数
|
13
|
-
# 計算対象の領域は255, それ以外の領域は0としたマスク画像を作成する。
|
14
|
-
mask = np.zeros_like(gray) # すべての画素が0の画像
|
15
|
-
cv2.circle(mask, center, radius, color=255, thickness=-1) # 円を描画
|
16
|
-
cv2.imwrite("mask.png", mask) # デバッグ用
|
17
|
-
# AND 演算
|
18
|
-
roi = cv2.bitwise_and(mask, gray)
|
19
|
-
cv2.imwrite("roi.png", roi) # デバッグ用
|
20
|
-
# 輝度値の平均を計算する。
|
21
|
-
n_pixels = (mask == 255).sum() # 計算対象の領域の画素数
|
22
19
|
|
23
|
-
mean = roi.sum() / n_pixels
|
24
|
-
return mean
|
25
|
-
|
26
|
-
|
27
20
|
gray = cv2.imread("a1.jpg", cv2.IMREAD_GRAYSCALE)
|
28
21
|
|
29
22
|
circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, dp=1, minDist=20,
|
2
内容修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
return mean
|
25
25
|
|
26
26
|
|
27
|
-
gray = cv2.imread(
|
27
|
+
gray = cv2.imread("a1.jpg", cv2.IMREAD_GRAYSCALE)
|
28
28
|
|
29
29
|
circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, dp=1, minDist=20,
|
30
30
|
param1=50, param2=30, minRadius=0, maxRadius=0)
|
1
内容修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
ハフ変換で検出した円で平均の輝度値が最も低いものを選んで円として描画したいです。
|
2
|
-
取得した平均輝度値をリストに入れるとこまでは分かるのですが、そこから最小のものを選ぶ方法がよく分かりません。
|
3
2
|
|
4
3
|
ご教授お願いします。
|
5
4
|
|