이미지 인식을 다루는 분들이라면 OpenCV를 모르는 분들이 없을 것이다.
아니 없어야 정상이다.
왜냐하면 C++ 또는 Python 에서 수 많은 라이브러리를 제공해주고 있는데, 모른다면 문제가 있다.
몰랐다면 이 기회에 알아가면 된다~
아무튼 오늘은 C++ 용 OpenCV를 설치하는 방법을 알아보자
OpenCV를 C++ 로 사용하고 싶다면 우선 Windows 기준으로 VisualStudio 설치가 선행되어 있어야한다.
VisualStudio가 설치 안 되어 있다면 아래 링크를 통해서 VisualStudio 를 설치하시길 바란다.
STEP 1 - 설치파일 다운로드
OpenCV는 무료 라이브러리이다.
물론 상업적 이용 허가를 받아야 되는 부분도 있지만, 개인 개발에 있어서는 무료로 사용가능하다.
위의 주소를 통해서 홈페이지에 들어간 후,
자신에게 맞는 버전을 클릭하여 다운 받는다.
필자는 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(" * "); 안에 입력해야 한다.
위의 레나 이미지를 첨부하니, 코드를 그대로 사용하려면 위의 이미지를 다운받길 바란다.
결과는 위와 같이 뜨는 것을 확인 할 수 있다.
이로써 OpenCV 설치부터 적용까지 확인하는 방법을 끝마치도록 한다.
Final - 마치며
이렇게까지 따라 했는데 정상작동을 안한다면, 분명 어디선가 잘못을 한 것이다.
예를 들면, Debug 모드로 실행을 안 했다던가,
lib 파일을 입력할 때, opencv_world***d.lib 에서 d를 안 붙였다던가
오류가 분명 존재할 것이다.
그리고 계속해서 해당 컴퓨터에서 안 된다면
컴퓨터 이름 지을때, 영어로 안 하고 한글로 한 경우에 안 될 수도 있다.
그리고 이 방법은 가장 쉽게 따라할 수 있는 방법이지만,
중요한 포인트 몇개를 생략했다.
Release 모드로 진행한다면 살짝 다르게 세팅을 해줘야 한다.
하지만 Release 까지 다룰 줄 아는 사람이라면 이글을 보면서 세팅하진 않을 것이라서 생략했다.
나중에 시간되면 다루겠다.
아무튼 따라해도 안 된다면, 분명 자신이 무슨 문제가 있음을 다시 한번 언급하고 글을 마친다.
도움이 되었거나, 문제가 있는 경우 댓글로 알려주세요~!
감사의 댓글은 작성자에게 큰 힘이 됩니다 ^^
'코딩 > OpenCV' 카테고리의 다른 글
[C++ opencv] 동영상 불러오기 VideoCapture() (1) | 2020.06.24 |
---|---|
[C++ opencv] 카메라, 웹캠 영상 입력받기 VideoCapture() (0) | 2020.06.24 |
[C++ opencv] Grayscale 변환에 대한 고찰 1 (4) | 2020.06.17 |
[C++ opencv] 컬러이미지 흑백으로 변환 , RGB to Grayscale (0) | 2020.06.17 |
[C++ opencv] 이미지 불러오고 보여주는 방법, imread() imshow() (2) | 2020.06.16 |
댓글