반응형
Intro
오늘은 제가 영상 처리할 때 사용하는 OpenCV에 대한 내용과 Visual studio의 연동 방법에 대해 포스팅하겠습니다.
OpenCV란?
OpenCV(Open Source Computer Vision)은 영상 처리에 대한 무료 오픈소스 라이브러리입니다.
OpenCV는 실시간 영상처리를 위해 인텔(Intel)에서 개발하였고, 실시간 이미지 프로세싱을 중점을 두고 있습니다.
C/C++ 프로그래밍 언어로 개발되었으며 파이썬 , 자바 및 매트랩 / OCTAVE에 바인딩되어 프로그래머에게 개발 환경을 지원합니다.
OpenCV는 학교 교육이나, 회사에서 상업용으로 제품을 만들어도 무료이기 때문에 많은 사람들이 활용하는 장점이 있습니다. 그리고 복잡한 알고리즘이나 계산식을 라이브러리로 구현을 했기 때문에 사용자 입장에서는 편하게 사용할 수 있습니다. 실무에서 C++이나 Python에서 정말 많이 사용됩니다.
OpenCV 다운로드
OpenCV Windows 버전을 다운로드합니다.
다운로드 후 압축을 풀어줍니다.
위에 그림과 같이 파일이 있으면 정상적으로 다운로드한 것입니다.
OpenCV & Visual studio 연동
Visual studio 2019와 OpenCV를 연동해 보겠습니다. OpenCV버전은 4.5.2입니다.
Opencv & Visual studio 연동하기
- Visual studio로 프로젝트 생성(프로젝트는 그냥 빈 프로젝트로 만들었습니다. MFC나 DLL 생성하거나 기타 프로젝트도 동일한 방법으로 OpenCV 연동하면 됩니다.)
)
- 헤더 파일 복사 및 경로 설정(OpenCV 다운로드한 폴더에서 opencv/build/include 폴더를 복사하여 프로젝트에 넣어 줍니다. 절대 경로로 사용해도 되긴 하는데 보통은 프로젝트 안에 상대 경로로 넣어서 사용합니다. 프로젝트(P)-> 속성(P)->C/C++ -> 모든 옵션 or 일반 -> 추가 포함 디렉터리에 .\include\opencv2;를 추가해 줍니다)
)
)
- lib 폴더 프로젝트 폴더에 복사합니다.(opencv\build\x64\vc15\lib 폴더를 프로젝트 폴더에 복사) 프로젝트(P)-> 속성(P)->링커->일반 or 모든 옵션 -> 추가 라이브러리 디렉터리에 .\lib 추가. 그다음에 프로젝트(P)-> 속성(P)->링커->입력->추가 종속성->opencv_world452d.lib를 추가해줍니다. Debug모드일 때는 opencv_world452d.lib, Release일 때는 opencv_world452.lib를 추가해 줍니다.
)
)
- 마지막으로 opencv\build\x64\vc15\bin 경로에서 Debug모드 일 때는 opencv_world452d.dll파일을 프로젝트의 Debug 실행 파일이 있는 위치에 넣어줍니다. Release에는 opencv_world452.dll파일을 프로젝트의 Release 폴더에 넣어줍니다. 그러면 연동이 끝납니다.
- OpenCV를 연동할 때는 Visual Studio와 OpenCV 버전을 맞춰줘야 합니다. 그리고 Debug모드 Release모드를 고려해서 lib파일과 dll파일을 설정해야 합니다.
마무리
마지막으로 OpenCV를 이용해 간단한 이미지 출력을 해 보겠습니다.
#include
#include <opencv2/highgui/highgui.hpp>
int main(void)
{
cv::Mat Image;
Image = cv::imread("./Anabebe.jpg");
while (1)
{
cv::imshow("Anabebe", Image);
cv::waitKey(100);
}
return 0;
}
다음 시간에는 OpenCV를 활용한 영상처리 알고리즘을 소개하도록 하겠습니다. 감사합니다.
반응형