안녕하세요? 착한이입니다.
OpenCV는 컴퓨터 비젼 관련 소스 코드와 라이브러리입니다.
오픈 소스이며, 다양한 운영체제와 개발 툴을 지원하고 있습니다.
본 강좌에서는 Windows 운영체제에서 Visual Studio 2019를 이용하여
OpenCV 4 프로그래밍 하는 방법에 대해 알아 보겠습니다.
다음은 OpenCV 관련 사이트입니다.
OpenCV 공식 사이트 : http://www.opencv.org
OpenCV Github : https://github.com/opencv/opencv
1. OpenCV 4 다운로드 및 설치
OpenCV를 이용하여 프로그래밍 하려면, 소스 코드와 빌드된 바이너리 파일이 필요합니다.
OpenCV 사이트에서 관련 자료를 제공하고 있습니다.
각 버전, 운영체제 용으로 제공하고 있으니 개발 환경에 맞는 파일을 다운로드하면 됩니다.
본 강좌에서는 OpenCV 4(4.1.2 버전), Windows 운영체제를 기준으로 설명하며,
빌드된 라이브러리를 이용하는 방법에 대해 알아 보겠습니다.
OpenCV 4는 소스 코드와 빌드된 라이브러리 형태로 받으실 수 있습니다.
소스 코드는 OpenCV 공식 사이트와 Github에서 다운로드 가능합니다.
이를 빌드하여 OpenCV 4 프로그래밍이 가능합니다.
또는 미리 빌드된 라이브러리를 받아서 프로그램을 개발할 수 있습니다.
OpenCV 사이트로 이동하여 OpenCV 4를 다운로드 합니다.
Windows 운영체제에서 Visual Studio 2019를 사용하므로
"Windows" 를 클릭합니다. 사이트에서는 4.1.1 버전을 다운로드 할 수 있습니다.
강좌에서는 4.1.2 버전을 사용합니다.
OpenCV 4.1.2 버전은 다음 사이트에서 다운로드 가능합니다.
https://sourceforge.net/projects/opencvlibrary/
"Files" 탭을 클릭하면 OpenCV 4.1.2 버전을 다운로드 가능합니다.
opencv-4.1.2-vc14_vc15.exe 파일을 받습니다.
또는 Github 에서도 다운로드 가능합니다.
https://github.com/opencv/opencv/releases
다운 받은 opencv-4.1.2-vc14_vc15.exe 파일은
OpenCV 소스 코드와 라이브러리를 압축한 파일입니다.
압축 프로그램으로 원하는 위치에 압축을 풀어줍니다.
또는 파일을 실행하면 다음과 같은 팝업 창이 나타납니다.
압축 해제할 경로를 선택합니다.
강좌에서는 C driver에 opencv 폴더에 압축을 풀었습니다.
opencv 폴더에는 다음과 그림과 같이 build와 sources 폴더가 있습니다.
build 폴더에는 header 파일, 미리 빌드된 라이브러리 및 바이너리 파일이 있습니다.
sources 폴더에는 OpenCV 소스 코드가 있습니다.
build 폴더에는 미리 빌드된 파일들이 있으며,
Windows 운영체제용은 x64 버전만 있습니다.
x86 버전은 OpenCV 4 소스 코드를 가지고 빌드해서 사용해야 합니다.
차후에 빌드 방법에 대해 알아 보겠습니다.
여기까지 진행하면 OpenCV 4 다운로드와 설치는 완료된 것입니다.
설치 경로를 기억해 두시길 바랍니다.
다음으로 Visual Studio 2019를 이용하여 OpenCV 4 프로그래밍 하는
방법에 대해 알아보겠습니다.
2. Visual Studio 2019 설치
Visual Studio 2019로 OpenCV 4 프로그래밍 하려면, Visual Studio 2019를 설치해야 합니다.
다음 사이트에서 설치 파일을 다운 받은 후에 설치해 주시면 됩니다.
https://visualstudio.microsoft.com/vs/
무료 버전인 Visual Studio 2019 Community 를 사용하셔도 됩니다.
설치 과정 중에 다음의 화면이 나타나면 반드시 "Windows" 항목에서
"C++를 사용한 데스크톱 개발" 항목을 선택해야 합니다.
C++ 언어로 OpenCV 4 프로그래밍 시에 필요한 항목입니다.
이미 Visual Studio 2019를 설치하신 분들은 설치 프로그램을
실행한 후에 추가(수정)로 설치 가능합니다.
설치 과정은 어렵지 않으며, 네트워크 속도에 따라 시간이 걸릴 수도 있습니다.
설치가 완료되면 OpenCV4 프로그래밍을 위한 Project를 생성하여
프로그램 개발할 수 있습니다.
Visual Studio 2017의 경우에도 비슷한 방법으로 설치해 주시면 됩니다.
다음으로 Visual Studio 2019로 Project를 생성하고
OpenCV 4를 이용한 예제를 만들어 보겠습니다.
3. OpenCV 4 예제 만들기
OpenCV 4와 Visual Studio 2019를 이용해서 예제를 만들어 보겠습니다.
Visual Studio 2019를 실행합니다. 다음의 화면이 나타나며 프로그램이 실행됩니다.
새로운 Project를 생성해야 합니다.
Visual Studio 2019의 "File - New - Project..." 메뉴를 선택합니다.
다음과 같은 화면이 표시 됩니다.
"Create a new project" 를 선택합니다.
다음의 화면에서 Project의 Templates을 선택합니다.
강좌에서는 C++로 개발함으로 개발 언어 콤보 박스에서 "C++"을 선택합니다.
다음으로 Platform 콤보 박스에서는 "Windows" 를 선택합니다.
Visual Studio 2019에서 지원하는 Templates가 표시됩니다.
"Console App" 을 선택하고 "Next" 버튼을 클릭합니다.
만약 "Console App" Templates 가 없다면 Visual Studio 2019 설치 파일을 이용하여
"C++를 사용한 데스크톱 개발" 항목을 추가로 설치해야 합니다.
다음과 같이 Project 이름, 위치, Solution 이름을 입력합니다.
본 강좌에서는 "CVTest01" 라고 입력하였습니다.
"Create" 버튼을 클릭합니다.
잠시 후, Visual Studio 2019가 자동으로 기본 Project를 생성해 줍니다.
CVTest01.cpp 파일에 기본 소스 코드가 포함되어 있으며,
Solution Explorer에서 Project 파일들을 확인할 수 있습니다.
강좌에서는 x64 버전의 OpenCV 4를 사용하므로 다음 그림과 같이 속성을 x64로 변경합니다.
이제 기본 Proejct에서 OpenCV 4 관련 Header 파일과
라이브러리 파일을 사용할 수 있도록 설정해야 합니다.
Visual Studio 2019의 "Project - Properties" 메뉴를 선택합니다.
Property 화면이 표시되면 "VC++ Directories" 를 선택합니다.
OpenCV 4 관련 Header 파일 위치를 지정하기 위해서
"Include Directories"를 선택하고 "Edit..." 을 선택합니다.
다음의 화면에서 OpenCV 4 관련 Header 파일 경로를 추가합니다.
강좌에서는 C:\opencv 폴더에 설치하였으므로
C:\opencv\build\include 가 됩니다.
다음으로 라이브러리 파일의 경로를 추가합니다.
"Library Directories"를 선택하고 경로를 추가합니다.
강좌에서는 C:\opencv 폴더에 설치하였으므로
C:\opencv\build\x64\vc15\lib 가 됩니다.
Header 파일과 라이브러리 파일의 경로를 설정하면 다음 화면과 같이 표시됩니다.
이렇게 설정하면 OpenCV 4 프로그래밍 시,
Header 파일과 라이브러리 파일을 편하게 이용할 수 있습니다.
다음으로 미리 빌드된 라이브러리(.lib) 파일을 Linker 해 줍니다.
Property 화면에서 "Linker - Input"을 선택합니다.
"Additional Dependencies"에 추가 라이브러리를 넣어 줍니다.
다음과 같은 화면이 나타나면 OpenCV 4 라이브러리 명을 추가합니다.
opencv_world412d.lib 라고 입력합니다.
이 파일은 C:\opencv\build\x64\vc15\lib 폴더에 있습니다.
Release 모드일 경우에는 opencv_world412.lib 파일을 이용합니다.
OpenCV 4 라이브러리를 추가하면 다음과 같이 됩니다.
마지막으로 미리 빌드된 OpenCV 4 바이너리(.dll) 파일의 경로를 지정해 줍니다.
Windows 운영체제의 PATH 환경 변수에 설정하거나
다음과 같이 Project 속성에서 지정해 줍니다.
"Debugging" 을 선택하고 Environment를 클릭해서 수정합니다.
다음과 같이 PATH를 입력해 줍니다.
강좌에서는 C:\opencv 폴더에 설치하였으므로
PATH=C:\opencv\build\x64\vc15\bin;%PATH% 를 입력합니다.
설정을 마치면 다음과 같은 화면이 됩니다.
"확인" 버튼을 클릭하여 설정을 마칩니다.
여기까지 OpenCV 4를 이용하기 위한 설정을 완료하였습니다.
이렇게 설정된 Project를 이용하여 OpenCV 4 프로그램을 개발할 수 있습니다.
OpenCV 4와 Visual Studio 2019가 정상적으로 설치가 되었는지
확인하기 위해 다음의 소스 코드를 이용하여 테스트 할 수 있습니다.
먼저 CVTest01.cpp 파일의 모든 내용을 삭제합니다.
다음의 소스 코드를 복사하여 붙여넣기 합니다.
이미지 파일을 읽어서 흑백처리와 Canny 필터 처리한 후,
결과를 화면에 표시하는 코드입니다.
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
cout << "OpenCV Version : " << CV_VERSION <<endl;
namedWindow("img-raw", cv::WINDOW_AUTOSIZE);
namedWindow("img-gray", cv::WINDOW_AUTOSIZE);
namedWindow("img-canny", cv::WINDOW_AUTOSIZE);
Mat rawimg, grayimg, cannyimg;
rawimg = imread("d:\\WAD-A64U.png", IMREAD_COLOR);
imshow("img-raw", rawimg);
cvtColor(rawimg, grayimg, cv::COLOR_BGR2GRAY);
Canny(grayimg, cannyimg, 10, 100, 3, true);
imshow("img-gray", grayimg);
imshow("img-canny", cannyimg);
waitKey(0);
destroyAllWindows();
return 0;
}
예제 프로그램을 빌드하려면 Visual Studio 2019의
"Build" 메뉴에서 "Build Solution" 또는 "Build CVTest01"을 선택하면 됩니다.
OpenCV 4관련 설정에 문제가 없다면 빌드가 성공합니다.
빌드가 성공하면 "Ctrl+F5" 또는 "F5" 단축키를 입력하면
OpenCV 4 프로그램이 실행됩니다.
또는 Visual Studio 2019의 "Debug-Start Debugging" 메뉴를 이용해도 됩니다.
Allwinner A64 CPU로 만든 WAD-A64U 보드 사진으로 테스트한 결과는
다음 그림과 같습니다. 왼쪽부터 원본, 흑백, Canny 처리 결과(Edge)를 보여줍니다.
여기까지 Windows 운영체제에서 Visual Studio 2019를 이용하여 OpenCV 4 프로그래밍하는 방법에
대해 알아 보았습니다. 기본 Project를 생성한 후에 미리 빌드된 OpenCV 4 파일을 이용하면 쉽게
OpenCV 4 프로그램을 개발할 수 있습니다.
차후에 QT와 Python을 이용하는 방법에 대해 알아보겠습니다.
공개되어 있는 OpenCV 소스 코드를 이용하여 재미있는 프로그램을 개발해 보시길 바랍니다.
그럼 즐거운 개발하시길 바랍니다.
OpenCV 관련 문의는 댓글 남겨 주시면 답변 드리겠습니다.
다음 유튜브 채널 구독 부탁 드립니다.
http://www.youtube.com/c/WeAreDev
감사합니다.