-1

私はopencv/pythonを使用してモーション検出プロジェクトに取り組んでいます。検出されたモーションがアレイ内の1で表され、モーションがない場合は0で表される画像ビットマップ/アレイを作成する段階に到達しました(短いラグの後、ビデオフィードから1つの画像を差し引くことによって)。Numpy(またはopencv)のkmeansアルゴリズムを使用して、移動するターゲット(1つ以上ある場合があります)を特定したいと思います。ただし、これらのアルゴリズムでは、使用するx、y座標の配列を入力する必要があります。2D画像ビットマップ配列をxy座標の配列に変換するための最も速くて効率的な方法は何ですか?(つまり、ここでは画像処理について話しているので、遅いPythonコードは望ましくありません)。

4

1 に答える 1

3

Numpynonzeroはこれを行います:

ドキュメントの例を次に示します。

>>> x = np.eye(3)
>>> x
array([[ 1.,  0.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  0.,  1.]])
>>> np.nonzero(x)
(array([0, 1, 2]), array([0, 1, 2]))

つまり、出力は配列内の非ゼロ要素のインデックスです。

于 2013-01-14T01:16:59.197 に答える