minMaxLocで最大と最小の位置を楽に取得

本記事はQrunchからの転載です。


行列の最大値、最小値はNumPyのmaxやmin、またそれらのインデックスはargmaxやargminを使えば取得できるのですが、OpenCVでは一発ですべて取得できます。

min_val, max_val, min_idx, max_idx = cv2.minMaxLoc(np.array([[1, 2, 3], 
                                                             [4, 5, 6]]))
print(min_val, max_val, min_idx, max_idx)

この出力は以下のとおりですが、それぞれ最小値、最大値、最小値の位置、最大値の位置をあらわします。位置は$(x,y)$をあらわしていますので、行列でいえば、(列、行)の順に格納されています。

(1.0, 6.0, (0, 0), (2, 1))
comments powered by Disqus
Built with Hugo
テーマ StackJimmy によって設計されています。