OpenCV 가 2.1 버전에서 OpenMP 를 버리고 Threading Building Blocks(이하 TBB)를 선택하였는데 성능면에서 어떠한 이득이 있을지는 모르겠다. 실제로 테스트를 해 보기 위해서 OpenCV 2.1 버전을 TBB 를 활성화하여 컴파일을 해보려 했지만 쉽지 않았다.

인터넷에서 해당 정보를 찾아 보았지만 TBB 를 포함한 컴파일에 대한 설명은 많지도 않고 자세하지도 않았다. 그러던 중 한 사이트(http://blog.csdn.net/effenberg11/archive/2010/07/05/5712724.aspx)를 발견하고 그 실마리를 얻었다.

준비사항

우선 CMake 를 설치한다. 설치하지 않고도 가능하겠지만 많은걸 입력해 주어야 한다.
그리고 TBB 와 OpenCV 를 작업 경로에 압축을 풀어 놓는다. 아래는 이번 작업에 사용 된 폴더 구조이다.

OpenCV 경로 : D:\Work\OpenCV\x86
TBB 경로 : D:\Work\OpenCV\tbb30_20100406oss

설치된 CMake  GUI 버전을 실행시킨다. 그리고 소스 코드 경로(Where is the source code)에 OpenCV 의 경로 D:\Work\OpenCV\x86 를 입력하고 바이너리 생성 경로(Where to build the binaries)에 OpenCV 의 경로 D:\Work\OpenCV\x86 를 입력하고 하단의 "Configure" 버튼을 클릭한다.

"Configure" 버튼을 누르면 컴파일러를 선택하는 대화상자가 나오는데 이 대화상자에서 "Visual Studio 10" 과 "Use default native compilers" 를 선택한다.

컴파일러 선택 후 "Configure" 버튼을 클릭하면 온통 붉은색으로 뒤덥힌 리스트를 만나게 된다. 그리고 WITH_TBB 가 체크되지 않음을 확인할 수 있다.

TBB 를 활성화 하기 위해 WITH_TBB 항목을 선택하고 "Configure" 버튼을 누른다.

그러면 TBB에 대한 잘 못 된 항목(TBB_INCLUDE_DIR) 값이 리스트 상단에 표시가 된다.

TBB_INCLUDE_DIR 항목에 TBB 경로의 Include 경로를 지정하고 "Configure" 버튼을 누른다.

다음 에러는 TBB_LIB_DIR 경로 오류가 발생한다.

TBB_LIB_DIR 에 TBB 의 lib 폴더에서 플랫폼과 컴파일러 버전을 맞추어 경로를 선택한다.

경로 설정을 마치고 "Configure" 버튼을 누르면 모든 에러가 해제되고 새롭게 등록된 두 항목을 확인할 수 있다.

그리고  Use TBB 가 활성화 된 것을 확인할 수 있다.

이제 OpenCV를 압축해제 해 놓은 경로(D:\Work\OpenCV\x86)에서 OpenCV.sln 파일을 Visual Studio 2010 으로 열어 ALL_BUILD 프로젝트의 속성 대화상자를 연다.

속성 대화상자에서 VC++ Directories 항목중에서 Executable, Include, Library Directories 에 TBB 관련 경로를 입력한다.

프로젝트의 속성을 편집하는 것은 이 글의 가장 위에서 언급한 사이트로 부터 얻은 정보인데 이 속성을 편집하지 않아도 OpenCV는 에러없이 컴파일 된다. (TBB가 정상동작 할지는 확실하지 않지만...)

이제 ALL_BUILD 만 Build 하면 된다.
Build 를 마치면 Binary 생성 경로에 bin 과 lib 폴더 안에 관련 dll 과 lib 파일이 생성된다.

이제 실제로 되는지 테스트하는 일만 남았다.
Posted by NeoDreamer
:
BLOG main image
사람의 발목을 잡는건 '절망'이 아니라 '체념'이고 앞으로 나아가게 하는건 '희망'이 아니라 '의지'다. - 암스 중에서 - by NeoDreamer

공지사항

카테고리

전체보기 (793)
Life Story (1)
Thinking (2)
Nothing (5)
---------------* (0)
Dev Story (701)
Com. Story (80)
IT Story (1)
---------------+ (0)
Etc (2)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :
05-08 06:56