C# OpenCV : nuget을 이용한 OpenCV 개발환경 구축
알게된 배경
C#의 높은 생산성을 알고 나서 OpenCV도 사용할 수 있지 않을까 해서 알아봤는데, 공식 OpenCV에서는 아직 C# 개발환경을 지원하지 않았다. 하지만, C#에서 실행이 가능하도록 옮겨 놓았다는 사실을 알게 되었다.
친절하게도 오픈소스 설치과정이 어려울까봐 VS의 Nuget 명령어 창을 링크를 걸어줘서 이전과 달리 환경 설정의 부담이 매우 줄게 되었다.
Nuget이란?
비주얼 스튜디오에서 사용되는 오픈소스 프로젝트의 패키지를 관리(PM : Package Management)툴 이다. 프로젝트가 열린 상태에서 실행할 수 있다. 보통 도구 쪽에 잘 찾아보면 있다.
필요한 것
VS2015, OpenCV3.2
주의 할점
OpenCV의 윈도우 버전 패키지를 다운로드를 받을 때 설치된 폴더의 opencv\build\x64\vc14\bin 이 경로를 환경변수에 등록을 해줘야 한다. 이 때 vc14는 VS2015를 의미하고 vc13은 VS2013 이런식으로 버전을 의미하기 때문에 이를 참고해서 다운로드 받아야 한다.
현시점에서는 vc14가 최대 지원 버전이기 때문에 VS2015에서 개발을 진행해야 햔다.
환경변수 잡는 경로는 자신이 압축을 푼 폴더내에서 build\x64\vc14\bin 폴더가 연결되면된다. 이는 실행에 필요한 조건이다. openCvSharp라이브러리만 가지고는 OpenCV를 실행할 수 없는 것으로 보인다.
Nuget으로 openCvSharp 설정잡기
VS2015를 실행해서 프로젝트를 생성한다. 이후 [도구] -> [Nuget 패키지 관리자] -> [패키지관리자 콘솔] 을 실행하면 하단에 Nuget 커멘드 창이 생성된다.
Install-Package OpenCvSharp3-AnyCPU -Version 3.2.0.20170419
이후 열심히 개발환경을 셋팅을 해준다. 그리고 테스트용 코드를 사용해보자. 테스트에 사용할 이미지는 마음에 드는 걸로 사용해도 상관없다. 다만, 이미지는 프로젝트 솔루션 내의 Debug(Debug상태에서 설치했으므로)에 넣어주어야 된다.
설치 커맨드는 정식 github에도 링크가 있고, NuGet에도 있다.
테스트용 소스코드
프로젝트는 콘솔 앱으로 생성했다.
using OpenCvSharp;
namespace openCvTest01
{
class Program
{
static void Main(string[] args)
{
Mat src = new Mat("lena.jpg", ImreadModes.GrayScale);
Mat dst = new Mat();
Cv2.Canny(src, dst, 50, 200);
using (new Window("src image", src))
using (new Window("dst image", dst))
{
Cv2.WaitKey();
}
}
}
}
만만한게 레나 사진이다(지금도 살아계실지??). 테스트용 소스코드는 github에 저자가 올린 소스코드를 그대로 옮긴 것이다. 정상적으로 2장의 이미지가 보이면 된다.
참고자료
본문중 Github 링크
'C#' 카테고리의 다른 글
C# 싱글톤 패턴 : 동적 싱글톤 (0) | 2017.09.04 |
---|---|
C# Socket : 고정 구조체 만들기 (0) | 2017.07.11 |
C# WinForm : 문자 픽셀 측정 (0) | 2017.07.06 |
C# : 콘솔 앱 프로젝트에서 콘솔 감추기 (0) | 2017.06.22 |
C# : 프로퍼티(property) (0) | 2017.01.23 |