OpenCVs Dense optical flow 기능 (Farneback)의 출력 매트릭스에 관한 다른 질문이 있습니다. 나는이 비슷한 질문을 한 최근OpenCV Dense Optical Flow Matrix
그리고
내가 지금 매트릭스에 저장된 값이 X이고 Y가 특정 픽셀이 이전 프레임으로 상대를 이동하는 것이 거리를 알고 있다고에서 (내가 틀렸다면 나를 바로 잡아주세요.)광학 흐름을 계산하기 위해 640x480 픽셀 비디오 피드를 사용하고 있습니다. 흐름 매트릭스의 모양은 아래의 인쇄 된 결과에 표시됩니다. npte는 처음 2 프레임을 읽은 후 휴식을 사용하여 배열의 구조.
import cv2
import numpy as np
cap = cv2.VideoCapture("T5.avi")
ret, frame1 = cap.read()
prvs = cv2.cvtColor(frame1, cv2.COLOR_BGR2GRAY)
while (1):
ret, frame2 = cap.read()
next = cv2.cvtColor(frame2, cv2.COLOR_BGR2GRAY)
flow = cv2.calcOpticalFlowFarneback(prvs, next, None, 0.5, 3, 15, 2, 5, 1.2, 0)
print flow.shape
print "Flow : : 0"
print flow[:][:][0]
print "Flow : : 1"
print flow[:][:][1]
break
이 다음과 같은 출력했다 : 그 장소의 각에 저장이 개 값이 왜
(480, 640, 2)
Flow : : 0
[[ 0.01214151 0.22083586]
[ 0.01184586 0.18637304]
[ 0.01057486 0.15194368]
...,
[ 0.00064609 -0.00283471]
[ 0.00046074 0.0047204 ]
[ 0.000404 -0.00282944]]
Flow : : 1
[[ 0.0152726 0.35010788]
[ 0.01538487 0.28910625]
[ 0.01413684 0.22534071]
...,
[ 0.00082013 -0.00668656]
[ 0.00060558 0.00633681]
[ 0.00056752 -0.00331147]]
지금 지금 궁금입니까? 두 개의 X와 Y 값이 저장되어 있습니까? 아마도 처음이자 마지막 위치일까요? 또는 구성 요소에 상상의 구성 요소가 있습니까?
나는 많은 검색을 해왔지만 이것을 설명하는 것을 찾을 수 없었다.