본문 바로가기
코딩/OpenCV

가장 쉽고 정확하게 C++ OpenCV 설치하기 (모든버전 공통)

by DIYver 2020. 6. 15.

이미지 인식을 다루는 분들이라면 OpenCV를 모르는 분들이 없을 것이다.

아니 없어야 정상이다.

왜냐하면 C++ 또는 Python 에서 수 많은 라이브러리를 제공해주고 있는데, 모른다면 문제가 있다.

몰랐다면 이 기회에 알아가면 된다~

 

아무튼 오늘은 C++ 용 OpenCV를 설치하는 방법을 알아보자

 

OpenCV를 C++ 로 사용하고 싶다면 우선 Windows 기준으로 VisualStudio 설치가 선행되어 있어야한다.

VisualStudio가 설치 안 되어 있다면 아래 링크를 통해서 VisualStudio 를 설치하시길 바란다.

 

https://diyver.tistory.com/49

 

VisualStudio 2019 무료 설치하는 방법, 처음부터 끝까지

대학교 공대를 다니시거나 다녔었던 분들은 거의 대부분 VisualStudio로 C언어를 배우셨거나 다룬다. 오늘은 그 VisualStudio를 설치하는 방법을 알아보기로 한다. VisualStudio는 원래 유료프로그램이고,

diyver.tistory.com

 

 

 

 

 

 

 

 

 

 

STEP 1 - 설치파일 다운로드

 

OpenCV는 무료 라이브러리이다.

물론 상업적 이용 허가를 받아야 되는 부분도 있지만, 개인 개발에 있어서는 무료로 사용가능하다.

 

https://opencv.org/releases/

 

Releases

 

opencv.org

위의 주소를 통해서 홈페이지에 들어간 후,

자신에게 맞는 버전을 클릭하여 다운 받는다.

 

 

필자는 3.4.8 버전은 다운받기로 했다.

최신버전은 4버전이지만, 3버전은 오랜기간 안정화가 잘 된 버전이기 때문이다.

또한 자료도 버전 2 또는 버전 3이 많기 때문이기도 하다.

 

 

 

 

 

 

 

 

 

 

STEP 2 - OpenCV 설치

 

 

OpenCV 다운로드가 다 되었다면 실행을 시켜준다.

 

 

설치 경로를 물어보는데

사실 어디에든 해도 상관 없지만

보통 C:\ 에다가 하는 것이 좋다.

처음 설치해보시는 분들이라면 무작정 따라하는 것이 좋다.

 

압축이 다 풀릴때 까지 기다리면 된다.

 

 

 

 

 

 

 

 

 

 

 

 

 

STEP 3 - Visual Studio 세팅

 

OpenCV 설치는 위와 같이 진행하면 다 끝난 것이다.

이제 OpenCV를 사용하기 위해서는 Visual Studio를 건드려야한다.

 

VisualStudio 2019를 실행시킨다.

 

기존에 하던대로

새 프로젝트 만들기 - Windows 데스크톱 마법사  순서대로 한 후

아래 사진처럼 설정을 한다.

 

 

 

 

프로젝트가 만들어졌다면 새로운 소스코드를 생성한다.

main.cpp 라고 이름을 지어준다.

무조건 cpp 파일이어야 한다.

 

 

 

여기까지 되었다면,

상단바에서 프로젝트 - OpenCV348 속성   을 클릭한다.

프로젝트 명이 다 다를 수 있으니, 각자 설정한 프로젝트 명을 참고하면 된다.

귀찮으면 단축키 Alt+F7 을 누르면 된다.

 

 

 

 

 

 

속성페이지가 뜨게 되면

구성은 "모든 구성" 으로,

플랫폼은 "x64" 로 설정해 준다.

(운영체제가 윈도우 64비트라면 x64를, 32비트라면 Win32를 선택한다.)

 

 

 

 

 

C/C++ 탭에서 일반을 누르면 위와같은 화면이 나오는데

거기서 추가 포함 디렉터리에 방금 설치한 OpenCV 주소를 입력한다.

 

여태까지 똑같이 따라했다면 아래를 입력하면 된다.

C:\opencv\build\include

 

 

 

 

링커 탭에서 일반을 클릭하면 위와같은 화면이 나오는데

여기서는 추가 라이브러리 디렉터리에 값을 넣어주면 된다.

 

여태까지 똑같이 따라했다면 아래를 입력하면 된다.

C:\opencv\build\x64\vc15\lib

 

 

* 주의

64비트 운영체제라면 위와같이 하면 되지만,

32비트 운영체제를 사용중이거나, visual studio 버전 중 2019 외 버전을 사용 중이면 위의방법대로 하면 안 된다.

(다른 정보글을 찾아보시고, 못 찾겠는 경우 질문하면 같이 알아봐 드리겠습니다^^)

참고로 요즘 나오는 대부분의 컴퓨터는 다 64비트이니 걱정하지 마세요;

 

 

 

 

링커 탭에서 입력으로 들어가시면 추가 종속성 항목이 보이는데,

거기에다가 아래문구를 입력한다.

세미콜론까지 입력을 해야 함에 주의하자

 

opencv_world348d.lib;

 

* 주의 

각자 설치한 opencv 버전에 따른 올바른 파일명을 입력해야 한다.

올바른 파일명을 확인하려면 

...<opencv 설치 폴더>\build\x64\vc15\lib 

폴더에 가면 opencv_world***d.lib 파일이 보이는데, 그걸 입력하면 된다.

 

예를 들어 4.0.0 버전이라고 하면

opencv_world400d.lib; 

라고 입력해야 한다.

 

 

 

여기까지 다 되었다면

아래 사진처럼 Debug 와 x64로 설정이 잘 되어있는지 확인한다.

x86 으로 되어있다면 x64로 바꿔야 한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

STEP 4 - OpenCV dll 파일 복사 및 붙여넣기

 

대부분의 사람들이 이 과정에서 오류를 많이 범한다.

따라서 이 과정이 제일 중요하다고 할 수 있다.

 

자신의 opencv가 설치된 폴더에서 bin폴더에 들어간다.

이 글에서 추천한 경로대로 했다면 아래와 같다.

 

C:\opencv\build\x64\vc15\bin

 

위의 폴더에 들어가면 아래와 같은 파일들이 존재한다.

 

 

위의 파일들 중에서

dll 파일들만 복사를 한다.

 

 

 

 

붙여넣어야할 위치도 중요한데,

저번 visual studio 2019 설치 소개글에서 안내했던 것처럼

프로젝트 저장 위치를 들어갈 줄 알아야 한다.

 

보통 아무생각 없이 만들었다면

C:\Users\<사용자 이름>\source\repos\<프로젝트 이름>\<프로젝트 이름>\

위치에 존재한다.

 

사용자 이름도 모르겠다면

아래의 방법을 사용하면 된다.

 

 

 

 

 

 

폴더가 열렸으면 아래 사진처럼 붙여넣기를 진행한다.

 

여기까지 되었다면 세팅 끝이다.

이제 코딩을 해서 제대로 되었는지 확인하는 차례만 남았다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

STEP 5 - 코딩 테스트 

 

제일 쉽게 해볼 수 있는 방법은 사진을 불러오는 것이다.

 

자신이 띄우고 싶은 사진을 프로젝트 폴더 안에 저장해 준다.

필자는 Lenna.png 파일을 저장해 두었다.

 

다른 연예인 사진을 써도된다.

 

 

 

아래 코드를 입력해 보자

#include <opencv2/imgcodecs.hpp>
#include <opencv2/videoio.hpp>
#include <opencv2/highgui.hpp>

#include <iostream>
#include <stdio.h>

using namespace cv;
using namespace std;


int main(int ac, char** av) {

	Mat img = imread("Lenna.png"); //자신이 저장시킨 이미지 이름이 입력되어야 함, 확장자까지

	imshow("img", img);
	waitKey(0);

	return 0;
}

자신이 저장한 이미지 이름은 Lenna.png 로 저장하면

그대로 써도 되지만, 파일명이 다르다면 그 파일명을 imread(" * "); 안에 입력해야 한다.

Lenna.png
0.45MB

위의 레나 이미지를 첨부하니, 코드를 그대로 사용하려면 위의 이미지를 다운받길 바란다.

 

 

 

결과는 위와 같이 뜨는 것을 확인 할 수 있다.

이로써 OpenCV 설치부터 적용까지 확인하는 방법을 끝마치도록 한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Final - 마치며

 

이렇게까지 따라 했는데 정상작동을 안한다면, 분명 어디선가 잘못을 한 것이다.

예를 들면, Debug 모드로 실행을 안 했다던가,

lib 파일을 입력할 때, opencv_world***d.lib 에서 d를 안 붙였다던가

오류가 분명 존재할 것이다.

 

그리고 계속해서 해당 컴퓨터에서 안 된다면

컴퓨터 이름 지을때, 영어로 안 하고 한글로 한 경우에 안 될 수도 있다.

 

그리고 이 방법은 가장 쉽게 따라할 수 있는 방법이지만,

중요한 포인트 몇개를 생략했다.

Release 모드로 진행한다면 살짝 다르게 세팅을 해줘야 한다.

하지만 Release 까지 다룰 줄 아는 사람이라면 이글을 보면서 세팅하진 않을 것이라서 생략했다.

나중에 시간되면 다루겠다.

 

아무튼 따라해도 안 된다면, 분명 자신이 무슨 문제가 있음을 다시 한번 언급하고 글을 마친다.

 

 

 

 

 

 

 

 

도움이 되었거나, 문제가 있는 경우 댓글로 알려주세요~!

감사의 댓글은 작성자에게 큰 힘이 됩니다 ^^

 

댓글