2012-10-04 2 views
1

나는 파이썬으로 이미지 분석 프로그램을 작성 중이며 cv.CalcOpticalFlowFarneback을 사용하려고합니다. 대부분의 것들과 분석 작업을 알았지 만, 나는 flags 파라미터로 조금 놀고 싶습니다. 이력서 문서에서는이 플래그는 정수이고 설명은 다음과 같은 것을 말한다 :python에서 openCV 광학 흐름

flags – 
Operation flags that can be a combination of the following: 
OPTFLOW_USE_INITIAL_FLOW Use the input flow as an initial flow approximation. 
OPTFLOW_FARNEBACK_GAUSSIAN ... 

질문입니다 어떻게 하나의 옵션 중 하나 또는 둘 모두를 사용하는 플래그를 설정합니까?

답변

0

나는 파이프 문자가 비트 또는이다 OPTFLOW_USE_INITIALFLOW | OPTFLOW_FARNEBACK_GAUSSIAN

추측거야. 플래그를 수행하는 일반적인 방법은 각 플래그에 대해 2의 다른 제곱을 사용하는 것입니다. 예 : OPTFLOW_USE_INITIALFLOW가 2이고 OPTFLOW_FARNEBACK_GAUSSIAN이 8이면 해당 조합은 1010입니다.

+0

감사합니다 Koobz, 왜 그것이 2와 8 대 1과 3 (이진수는 01과 11)이라고 생각합니까? 다른 말로하면 왜 각 깃발 하나 대신 2 자리 수 있어야합니다. – renat

+0

http://en.wikipedia.org/wiki/Bit_field는 아마 나보다 낫다고 설명합니다. 각 비트는 기본적으로 특정 플래그를 토글하는 독점적 인 방법입니다. 따라서 8 비트가 있고 각 비트가 켜기/끄기 플래그에 해당하면 256 개의 모든 조합을 압축하여 전달할 수 있으며 비트 마스크를 사용하여 활성화 된 네 번째 비트 위치의 플래그와 같은 질문에 쉽게 답할 수 있습니다. 예 : 0111 & 0100 = 0100! = 0이며 (따라서 일반적으로 "참"). 0111 & 1000 = 0, 거짓. – Koobz

관련 문제