ハフ変換で検出した円で平均の輝度値が最も低いものを選んで円として描画したいです。
ハフ変換で取得した円の平均輝度値を取得してリストボックスにappendまでしています。
ここからリストの最小の平均輝度値の円を選択して描画したいと思っています。
リストから最小の値を選ぶのはmin()でいいと思いますが、
選んだ値の円を描画する方法がわかりません。
ご教授お願いします。
import cv2 import numpy as np mean_box = [] def calc_meanは平均輝度値の平均を計算する関数 gray = cv2.imread("a1.jpg", cv2.IMREAD_GRAYSCALE) circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, dp=1, minDist=20, param1=50, param2=30, minRadius=0, maxRadius=0) if circles is not None: circles = circles.squeeze(axis=0) # (1, NumCircles, 3) -> (NumCircles, 3) for cx, cy, r in circles: mean = calc_mean(gray, center=(cx, cy), radius=r) print(mean) mean_box.append(mean) cv2.imshow("aaa", gray) cv2.waitKey(0) cv2.destroyAllWindows()
回答1件
あなたの回答
tips
プレビュー