2013-03-01 2 views
0

비디오의 옵티컬 플로우 계산을위한 Horn-schunck 방법을 연구했습니다. 내 코드는 C로되어있어 이미지를 회색으로 스케일링하고 파생 상품을 계산하는 등 처음부터 모든 알고리즘을 구현한다는 의미입니다. 메소드의 본질을 완전히 흡수 할 수는 없습니다. 최종 흐름 행렬에는 각 픽셀에 대한 변위 벡터가 포함될 것입니다. 맞습니까? 각 픽셀에 대한 의미, 흐름 행렬의 값은 다음 이미지에서 변위되는 양을 나타냅니다.Horn-Schunck 옵티컬 플로우 계산

0-255 사이의 모든 픽셀 값을 가질 때 어떻게 작동합니까?이 모든 픽셀 값에 대한 모든 계산이 수행되고 결과 출력은 말하자면 1920x1080 이미지에서 변위가 발생합니다.

답변

1

당신의 방법의 결과는 u (또는 dx) 방향/변위에 대한 것이고 다른 하나는 v (또는 dy) 방향/변위에 대한 두 개의 채널 또는 두 개의 행렬을 가진 행렬이됩니다. 즉, 벡터 필드가 있음을 의미합니다.

[u(x,y) v(x,y] = optical flow for each position (x,y) in your image 

이 벡터 필드 (이 필드의 값)는 부동 정밀도를 갖습니다. 예를 들어. u(0,0) = 0.2 v(0,0) = 0.13. 따라서 coud의 한 부분에서 입력 이미지의 회색 값을 부동 값으로 변환해야합니다. 이것은 주로 그라디언트를 계산할 때 수행됩니다. sobel 운영자와. OpenCV 라이브러리에는 Horn-Schunk 구현이 있습니다. 코드를 읽는데 시간이 걸리지 만,이 방법을 구현하는 데 매우 효율적인 방법이라고 확신 할 수 있습니다.