엔지니어스 - Engineeus

[Windows] Visual Studio Code (VS Code) - [3] OpenCV 환경설정 본문

Autonomous Tech./Installation

[Windows] Visual Studio Code (VS Code) - [3] OpenCV 환경설정

Engineeus 2020. 1. 18. 15:45
728x90

start()

{


이전에 Windows에서 VS Code를 설치 하고 기본적인 환경 설정만 해주는 작업을 하였습니다.

 

아래는 설치 포스트이며,

 

https://mickael-k.tistory.com/12

 

[Windows] Visual Studio Code (VS Code) - [1] 설치 방법

Visual Studio Code 설치 방법을 포스팅 합니다. 이 IDE는 보통 Linux 시스템에서 동작을 하기 때문에 Linux에서 자주 사용 합니다. 저는 현재 Ubuntu 시스템에서 사용 하고 있습니다. 장점 - 무료(기업에서도 사..

mickael-k.tistory.com

 

아래는 기본 코드를 돌리기 위한 환경 설정을 다뤘습니다.

https://mickael-k.tistory.com/13?category=798523

 

[Windows] Visual Studio Code (VS Code) - [2] 환경 설정

이 전에 Windows에서 VS Code의 설치와 MinGW의 설치를 마쳤습니다. https://mickael-k.tistory.com/12 [Windows] Visual Studio Code (VS Code) - [1] 설치 방법 Visual Studio Code 설치 방법을 포스팅 합니다...

mickael-k.tistory.com

 

이번에는 OpenCV를 사용 하기 위해서 간단하게 환경 설정을 구축 하는 방법을 다루고, 추가로 편리하게 버튼 하나로 다컴파일 하고 빌드를 해주도록 작업을 할 수 있는 환경 설정 방법을 다루도록 하겠습니다.


1. MinGW-w64 설치

※ 주의 할 점은 MinGW-w64와 MinGW는 다르다. MinGW는 32로 설치가 된다.

설치 파일은 아래 사이트에서 받는다. 아래 링크 클릭 후 sourceforge를 누르면 다운로드가 시작된다.

http://mingw-w64.org/doku.php/download/mingw-builds

 

Mingw-builds [mingw-w64]

 

mingw-w64.org

설치 시에는 중간에 옵션 선택하는게 나오는데 거기에서 Architecture에서 x86_64를 선택 해야 한다.

 

설치 완료 후에는 환경변수를 등록 해야 된다. 그래야 어느 경로에서도 gcc를 사용 할 수 있다. 

환경변수 설정은 아래와 같다.

 

시작버튼을 눌러 '시스템 환경 변수 편집'을 친 후 '환경 변수' 버튼을 클릭하여 들어간다. 그 후에 위에 있는 사용자 환경 변수에 'Path'를 더블클릭 후 '찾아보기' 그 다음 'mingw'의 'bin'파일 경로를 찾아 넣어준다.

 

아래와 같이 '시작' - 'cmd'를 들어가서 'gcc -v'를 누르면 설치된 컴파일러들이 보입니다.

확인 해야 할 점은 아래 'mingw-w64'로 잘 깔렸는지 입니다. 만약 이 전에 32로 까셨으면 c드라이브나 d드라이브 가셔서 'MinGW'삭제 해 주시고 다시 확인 해보시면 됩니다.

 

2. OpenCV 설치

※ 아래는 3.4.9버전으로 했지만 3.4.6버전으로 전 깔았어요~ 항상 최신 버전은 문제가 되기에 전 이전 버전으로 설치하는 습관이 있습니다.

 

  • opencv 설치

- release 배포판 사이트 진입

https://github.com/opencv/opencv/releases/tag/3.4.9

 

opencv/opencv

Open Source Computer Vision Library. Contribute to opencv/opencv development by creating an account on GitHub.

github.com

- .zip파일 다운로드

저는 4.x 버전보다 3.x버전을 선호하기에 이렇게 3.4.9버전을 받았습니다.

 

 

  • opencv contrib 설치

- release 배포판 사이트 진입

https://github.com/opencv/opencv_contrib/releases

 

opencv/opencv_contrib

Repository for OpenCV's extra modules. Contribute to opencv/opencv_contrib development by creating an account on GitHub.

github.com

 

- 같은 버전의 .zip파일 받기

 

 

  • opencv_sources 폴더 생성 및 이동

- 두 파일 압축을 풀어줍니다. 

 

- 'opencv_source' 폴더를 생성해 두 폴더를 넣어줍니다.

 

- 'opencv_source'를 c폴더로 이동 시킵니다.

 

 

2. CMake 설치

- 홈페이지 진입

https://cmake.org/download/

 

Download | CMake

Current development distribution Each night binaries are created as part of the testing process. Other than passing all of the tests in CMake, this version of CMake should not be expected to work in a production environment. It is being produced so that us

cmake.org

 

- Windows가 64 bit 용이면 아래 클릭후 설치 

- 설치 사항 바꾸지 말고 계속 진행하며 설치 완료

 

3. CMake로 빌드 하기

CMake 실행

 

소스코드 지정 위치는 아래와 같이 해주시고 빌드 폴더는 'opencv_sources'에 'build'폴더 생성 해주시고 아래처럼 위치 지정 해주세요

 

제너레이터를 'MinGW'로 해주세요.

시간이 5~7 분 정도 걸리네요 제 컴퓨터에선.. 완료 되면 아래와 같이 나옵니다.

체크의 의미는 이걸 빌드 하겠다는 거죠. 필요 없는건 체크 해제 해주면 됩니다.

 

이제 빌드 할 필요 없는 것들을 해제 해 줍니다. 이렇게 해주는 이유는 시간 아끼기 위해서 입니다. 제가 java나 opencl 이런거 안쓰는데 굳이 빌드 해서 시간, 공간 아깝게 하지 않기 위함 입니다.

 

아래와 같이 체크 해제 해주면 됩니다.

 

'java' 해제

 

'opencl'

 

'directx'

 

이 부분은 파이썬의 contrib에 있는 추가 모듈을 설치 해 줍니다. 이로 인해 더 다양한 opencv 기능을 사용 할 수 있죠.

'extra' 검색 후 오른쪽 클릭 후에 'modules'폴더의 경로를 지정 합니다.

 

검색창을 지운 후 다시 'Configure'버튼을 클릭 하여 빌드 합니다.


완료 후 아래와 같이 다시 구성 합니다. 이번엔 체크 합니다.

 

'world'

 

'nonfree'

 

다시 'Configure'을 누릅니다.

 

'install'을 검색 해 최종적으로 빌드가 저장되는 폴더의 위치를 아래와 같이 수정 합니다.

 

이제 빌드를 하기 위한 프로젝트파일을 생성 합니다.

 

'Generate'를 누릅니다.

 

완료가 되면 'C:\opencv_sources\build'에 가보면 이제 빌드 한 폴더 및 파일들이 생겼을 겁니다.

 

'win + r'키를 누른 후 cmd를 엽니다.

 

cd c:\opencv_sources\build
mingw32-make

이렇게 해주면 빌드가 시작 됩니다.

 

다 되면 아래와 같이 install 해줍니다.

mingw32-make install

 

이 작업이 끝나면 c:\opencv_mingw\build안에 빌드 된 폴더랑 파일들이 생깁니다.

 

 

 

4.VSCode에 적용하기

1. 파일 생성

1) Visual studio를 연 후 위 메뉴바에서 'File' -> 'Open Folder'를 클릭하여 'opencv'라는 새 폴더를 만들어 줍니다.

2) 파일 -> 'New File'을 클릭하여 파일을 새로 만듭니다.

 

 

 


set(pathOPENCV C:/opencv-mingw/build)
include_directories(${pathOPENCV}/include)
set(LIBOPENCV ${pathOPENCV}/x64/mingw/lib/libopencv_world410.dll.a)

get_filename_component(ProjectId ${CMAKE_CURRENT_LIST_DIR} NAME)
string(REPLACE " " "_" ProjectId ${ProjectId})
project(${ProjectId} C CXX)

set (CMAKE_CXX_STANDARD 11)

file(GLOB SOURCES  *.cpp)
 
add_executable(${PROJECT_NAME} ${SOURCES} )
target_link_libraries( ${PROJECT_NAME} ${LIBOPENCV} )

 

 

VSCode에서는 빌드 시에 'tasks.json'이라는 json파일을 가지고 빌드을 진행 합니다. 'tasks.json'에서는 컴파일, 실행 등등 작업들을 정의해둘 수 있습니다.

 


 

'ctrl + shift + p'

others

 

추가로 다음 포스트 에서는 ~~를 다루도록 하겠습니다.


return 0;

}

2 Comments
  • 프로필사진 YKCHO 2021.08.31 11:26 좋은 정보 감사합니다. 집에서 할 땐 build 까지 잘 되었는데, 회사 컴에 하려니 안되네요. mingw32-make를 하면 에러가 뜨고 전혀 진행이 안되네요. 에러 원인을 확인하려면 어떻게 하면 좋을까요?
  • 프로필사진 YKCHO 2021.08.31 11:28 C:\opencv\build>mingw32-make
    [ 0%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/adler32.c.obj
    process_begin: CreateProcess(C:\Users\2060103\AppData\Local\Temp\make31484-1.bat, C:\Users\2060103\AppData\Local\Temp\make31484-1.bat, ...) failed.
    make (e=5): 액세스가 거부되었습니다.
    mingw32-make[2]: *** [3rdparty\zlib\CMakeFiles\zlib.dir\build.make:76: 3rdparty/zlib/CMakeFiles/zlib.dir/adler32.c.obj] Error 5
    mingw32-make[1]: *** [CMakeFiles\Makefile2:1397: 3rdparty/zlib/CMakeFiles/zlib.dir/all] Error 2
    mingw32-make: *** [Makefile:165: all] Error 2
댓글쓰기 폼