2013-01-14 2 views
-1

opencv/python을 사용하여 모션 감지 프로젝트를 진행 중입니다. 감지 된 모션이 배열에서 1로 표시되고 모션이없는 곳에서 0을 표시하는 이미지 비트 맵/배열을 만들었습니다 (잠시 후 다른 비디오 피드에서 하나의 그림을 뺍니다). Numpy (또는 opencv의) kmeans 알고리즘을 사용하여 움직이는 표적 (1 이상있을 수 있음)을 결정하고 싶습니다. 그러나 이러한 알고리즘을 사용하려면 x, y 좌표 배열을 입력해야합니다. 2 차원 이미지 비트 맵 배열을 x y 좌표의 배열로 변환하는 가장 빠르고 효율적인 방법은 무엇입니까? (즉, 여기에서는 이미지 처리에 대해 이야기하고 있으므로 느린 파이썬 코드는 바람직하지 않습니다.)2 차원 비트 맵을 파이썬에서 x-y 좌표로 포인트로 변환하는 방법 - 그리고 빨리

답변

3

NumPy와의 nonzero 이렇게 것이다

여기에 문서의 예이다 :

이다
>>> 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])) 

는 출력은 어레이 내의 비제로 원소의 인덱스이다.

+0

많은 감사합니다 - 그게 내가 찾고있는 것입니다! 또한 문서의 예에서 볼 수 있듯이 이것을 x, y 최종 요구 사항에 맞출 수 있습니다. 실망! – PyVelociraptor

관련 문제