본문 바로가기

Languages&Library/C#

[OpenCV] C#의 OpenCV OpenCvsharp 환경 설정

 

C# Form 프로그램에서 OpenCV를 사용해야하는데, C++ 버젼을 DLL로 만들어야할지 고민이 좀 있었음.

2017년도? 이쯤만 해도 EmguCV가 있어서 그걸 사용했었는데,

설정도 번거롭고 C++ version과 문법도 좀 달라서 고민을 했음.

 

그래서 혹시 뭔가 새로운게 있나 싶어 검색을 해보니 opencvsharp이라는게 있고, emgucv랑은 다른 듯했다.

그리고 환경설정을 할 수 있는 법을 찾아보니 바로 아래 블로그를 찾았고 자세하게 설명되어 있었음

https://luckygg.tistory.com/331

 

[OpenCV] C#에서 OpenCVSharp4 환경 구성 및 사용 방법 (예제 포함)

OpenCVSharp이란? OpenCV는 Computer Vision 라이브러리를 무료로 사용할 수 있는 라이브러리입니다. 이 OpenCV는 C/C++ 언어로 개발되어 C++ 라이브러리는 기본으로 제공하지만, C#은 제공하지 않더군요. 그래

luckygg.tistory.com

 

글을 작성하게 된 이유는, 새로만드는 프로젝트는 위와 같이 설정하면된다.

하지만, 기존에 있는 프로젝트에 설정을 할 땐, .NET Framework Version을 맞춰야 한다.

 

opencvsharp 버젼별로 지원하는 .NET Framework Version이 다르다.

 

 

현재 opencvsharp의 최신 버젼이 지원하는 NET Framework Version은 4.8이상임.

그래서 최신 release버젼을 적용했을 때는 계속 에러가 났었음.

 

여기서 지원하는 버젼은 Nuget 솔루션 패키지 관리에서 opencvsharp을 찾을 때, 아래에 있는 버젼을 찾아보면됨.

현재 최신 버젼인 4.7.0.20230115버젼은 아래 종속성을 확인했을 때 아래와 같은 버젼을 만족해야함.

 

현재 제일 예전 버젼인 4.0.0.20181225의 경우는 버젼이 낮을 것을 확인할 수 있다.

 

 

하지만, 지금 내가 가지고 있는 프로젝트는 Any CPU버젼으로 되어있어서 아래 버젼의 패키지를 설치했음.

 

 

그리고 이 4.0.0.20181129 버젼에 맞는 OpenCvSharpExtern.dll의 경우에는 opencvsharp Git페이지에서 찾아서 다운받았다

3페이지쯤에 있었음.

https://github.com/shimat/opencvsharp/releases/tag/4.0.0.20181130

 

그리고 여기서 x64버젼과 x86버젼 2개를 설치했고, x86버젼에 있는 dll파일을 사용함.

 

C++이랑 Python만 쓰다가 C#을 거의 쓴적이 없어서 환경설정하는데 시간이 좀 소요되어서

혹시나 나 같이 고생하는 사람들이 있으면 도움이 되었으면 해서 글을씀.