OpenCV 설치

kenGwon·2023년 11월 2일
0

[OpenCV] Computer Vision

목록 보기
1/4
post-thumbnail

visual studio image watch

우선은 Visual Studio에 visual studio image watch을 설치해서, IDE에서 이미지를 볼수 있는 창을 띄울 수 있도록 한다. (확장프로그램을 설치하는 것)



openCV 설치

opencv를 설치할 때, source로 받으면 C++코드로 직접 빌드를 해줘야 하고,
for windows로 받으면 실행파일 형태로 빌드가 된다. (우리는 실행파일로 받음)

서드파티 라이브러리들은 폴더 하나에 몰아 넣는다.

"thirdparty"라는 폴더를 새로 만들어서 거기 안에다가 opencv 빌드 폴더를 넣어줬다.(이런식으로 서드파티 폴더 만들어서 폴더 모아놓고 나중에 상대경로 쓰는 습관을 들여야함)



프로젝트 속성 만지기

  • 구성속성에서 "출력 디렉터리"를 바꿔서 빌드 경로를 조정해주었고, Debug모드일 때만 "대상이름" 끝에 "D"를 붙여줘서 릴리즈 빌드파일과 구분하도록 했다.
  • "C++언어 표준" 옵션도 최신 옵션으로 바꿔주면, C++ 최신기능과 문법에 적응하면서 프로그래밍을 해낼 수 있다.

C/C++ >> "일반" 옵션에서 "추가 포함 디렉토리"에다가 opencv-include폴더를 넣어줘야 컴파일 할때 제대로 인클루드가 된다.(여기서 중요한 것은 추가포함 디렉터리 경로를 넣어줄 때 반드시 상대경로 값을 넣어줘야 한다는 것이다.)

링커 >> "일반" 옵션에서 "추가 라이브러리 디렉터리"에다가 opencv-빌드lib폴더를 넣어줘야 링커가 링킹할 때 문제가 없다.(여기서도 마찬가지로 반드시 상대령로 값을 넣어줘야 한다는 것이다.)

링커 >> "입력" 옵션에서 "추가 종속성"에다가 라이브러리명을 적어줘야 하는데, 그 작업은 common.h에다가 #pragma comment로 명시적 라이브러리 링크를 해주는 것으로 대체하였다.

상대경로 작성 기준점은 "프로젝트명.vcxproj" 파일의 위치이다.

디버그 모드로 빌드한 실행파일과 릴리즈 모드로 빌드한 실행파일

디버그 모드로 빌드한 실행파일은 디버깅 기능을 포함하여 빌드해야 하기 때문에, 릴리즈 모드로 빌드한 실행파일보다 용량이 크다.



참고

  • 모드나 플래그와 같은 상태를 표현하기에 좋은 enum 열거형(opencv 라이브러리 구현을 살펴보면 enum을 굉장히 적재적소에 잘 활용한 것을 알 수 있다.)

  • 특정 변수 값의 크기만큼 메모리 배열을 만들고 싶으면, 그 변수를 상수 키워드 const를 붙여서 선언하여 정적 메모리 배열 선언이 가능하게 하던가,
    그게 아니고 굳이 변할 수 있는 변수 값의 크기만큼 배열을 만들고 싶으면, 반드시 동적 메모리 할당으로 배열을 만들어야 한다!!(당연한거다.)

C++ 랩핑

  • 우리가 쓰는 라이브러리에는 cpp가 하나도 안들어가 있다. 전부 dll로 들어가 있다. 그래서 그것을 사용하기 위해서 CV_EXPORTS_W 라는 define으로 export가능하게 해준다????? 뭐 그런 느낌이었음.
profile
스펀지맨

0개의 댓글