2장 연습문제
▶ 오픈소스(Open Source)란 무엇인가?
- 소프트웨어의 소스 코드가 공개되어 누구나 자유롭게 접근하고 수정할 수 있는 소프트웨어 개발 방식
▶ 대부분의 오픈 소스 API들은 동적연결라이브러리(DLL) 파일 형태로 제공된다. DLL 파일을 사용하는 이유는 무엇인가?
- 동적연결라이브러리는 프로그램 내에서는 함수의 호출 정보만을 포함하고, 목적 코드를 실행 시간에 호출하여 실행하기 때문에 메모리를 절약하고 디스크 공간을 줄일 수 있고 DLL의 업그레이드나 출시 후 지원을 쉽게 할 수 있다는 장점이 있으므로 DLL 파일을 사용한다.
▶ OpenCV에서 제공하는 DLL 파일들을 사용하려면 해당 응용 프로그램이 DLL 파일이 있는 디렉터리에 접근할 수 있어야 한다. 그 세 가지 방법을 적으시오.
1) DLL 파일을 현재 프로젝트의 실행 디렉터리에 복사하는 방법
2) 환경변수에서 경로가 설정된 디렉터리에 복사하는 방법
3) 시스템 환경 변수 중 하나인 Path에 DLL 파일이 있는 디렉터리의 경로를 추가하는 방법
▶ OpenCV의 DLL 파일을 윈도우 환경 변수인 Path로 지정하는 방법을 설명하시오.
- 시스템 환경변수 편집에서 Path를 찾아 편집을 클릭한 후 DLL 파일이 있는 폴더의 경로를 추가하고 확인을 클릭하면 된다.
▶ OpenCV 디렉터리 설정 과정에서 포함 디렉터리와 라이브러리 디렉터리를 적으시오.
- 포함디렉터리: C:\opencv\build\include
- 라이브러리 디렉터리:C:\opencv\build\x64\vc16\lib
▶ OpenCV 디렉터리 설정 과정에서 포함 디렉터리와 라이브러리 디렉터리 대신에 추가 포함 디렉터리와 추가 라이브러리 디렉터리를 설정하는 방법이 있다. 자세히 설명하시오.
- 추가 포함 디렉터리 설정: 프로젝트-> 속성-> C/C++ -> 일반 -> 추가 포함 디렉터리 설정
- 추가 라이브러리 디렉터리 설정: 프로젝트-> 속성-> 링커 -> 일반 -> 추가 라이브러리 디렉터리 설정
▶ OpenCV 디렉터리 설정 과정에서 추가 종속성에 작성해야 하는 라이브러리 파일명을 적으시오(디버그 모드와 릴리즈 모드).
- 디버깅 모드: opencv_world4100d.lib
- 릴리즈 모드: opencv_world4100.lib
▶ 비주얼 스튜디오 2015에서 속성 시트를 이용해서 OpenCV디렉터리 설정을 완료하고, 속성 시트 내용을 메모장에 출력하시오.
▶ OpenCV 디렉터리 설정을 완료하고, <예제 2.1.1>의 소스를 윈도우 창에 검은색이 나타나게 소스를 변경하시오.