Closed kyukyukyu closed 9 years ago
현재 command line option으로 받는 건 이 정도.
>= (0, 133, 77) && <= (255, 173, 127)
in YCrCb)samples/cpp/lkdemo.cpp
)<frame_height> * 0.04
)<prev_cdd_width> * 0.1 + <frame_width> * 0.02
)<frame_width> * 0.2
)<frame_width> * 0.025
)<base_box_width> * 0.09
)<= 1.5/1 && >= 1/1.5
)Boost.Program_options 라이브러리에서 ini-like file을 파싱하는 기능을 제공한다. 이거 왜 모르고 있었지...;; jbeder/yaml-cpp 대신에 이거 써야겠다. 빌드 환경 설정하느라 삽질 하고 있었는데 ㅠㅠ
Threshold 변수들은 기준치를 어떻게 잡아야 할지 모르겠다. 어떤 거는 frame_height
기준이고, 어떤 거는 prev_cdd_width
기준이고. 얘기 해 보고 정해야겠다.
일단 계수를 입력받는 형태로 구현해놓아야지.
'Frame size for scanning', 이게 현재는 원래 프레임 크기에 설정값으로 입력된 계수를 곱해서 구해지는 형태로 되어 있다. 아예 절대(absolute) 프레임 사이즈를 입력 받는 형태로 바꾸는 게 좋을 것 같다. 이게 더 직관적이라고 생각한다. 이와 더불어 threshold 변수들까지 계수가 아닌 절대 길이로 입력받으면 조건 통제가 더 나아질 수 있지 않을까 생각한다.
이 프로젝트에서 사용하는 알고리즘에는 여러 가지 매개변수들이 있다. 여기에는 cascade classifier file의 경로 또한 포함된다. 매개변수의 값에 따라서 실행 결과가 달라질 가능성이 있다.
지금까지는 command line을 통해서 일부 매개변수를 입력 받았다. 이런 인터페이스 때문에 실행 환경을 일관되게 유지하고, 매개변수 값을 달리했을 때의 결과를 확인하기가 어려웠다.
그래서 앞으로는 설정 파일을 사용하고자 한다. 설정 파일은 프로젝트에서 사용하는 알고리즘에 입력되는 파라미터들과 그 값이 기록된 파일이다. 프로젝트의 빌드 결과로 생성된 프로그램을 실행할 때, 설정 파일의 경로가 command line을 통해 실행 옵션으로 입력된다. 이렇게 하면 앞에서 언급한 문제점들을 해결할 수 있을 것이다.
설정 파일의 포맷으로는 YAML 1.2가 적당하다고 생각한다. 사람이 알아보기 쉽고, C++로 작성된 YAML 1.2 파서인 jbeder/yaml-cpp를 통해 파싱을 쉽게 구현할 수 있기 때문이다.
따라서, 우리는 현재 프로젝트에서 사용하는 알고리즘의 매개변수들이 무엇인지 파악해야 한다. 먼저, 파악한 결과를 이 이슈의 커멘트로 작성하자. 이 작업을 완료하면 설정 파일을 파싱하여 매개변수를 사용하는 기능을 구현하자.