문제

나는 그들 중 몇 가지가 있다는 것을 보았습니다. opencvdotnet, SharperCV, EmguCV, 코드 프로젝트 중 하나.

누구든지 이들 중 하나에 대한 경험이 있습니까?나는 Code Project에 있는 것을 잠시 가지고 놀았지만 복잡한 작업을 시도하자마자 잡을 수 없는 불쾌한 예외가 발생했습니다(예:Msgbox 예외).크로스 플랫폼(Mono 지원)이 가장 좋습니다.

도움이 되었습니까?

해결책

나는 opencvdotnet으로 시작했지만 더 이상 적극적으로 개발되지 않았습니다.게다가 제가 필요한 기능(얼굴 인식)에 대한 지원도 고르지 못했습니다.나는 사용하고있다 EmguCV 지금:이는 API의 훨씬 더 많은 부분을 포함하며 그 뒤에 있는 사람은 제안과 요청에 매우 반응합니다.코드는 보기에 즐겁고 Mono에서 작동하는 것으로 알려져 있습니다.

급하게 글을 썼어요 시작 가이드 내 블로그에.

다른 팁

우리는 사용 OpenCVSharp Google 코드 웹사이트는 일본어로 되어 있지만 최신 OpenCV 빌드를 사용하고 전체적으로 IDisposable을 암시합니다.이는 우리가 지금까지 본 다른 어떤 것보다 더 많은 기능을 제공하는 것으로 보이며 여전히 활성화되어 있습니다.꽤 광범위한 예제 프로그램도 있습니다.

원래 질문이 다음에서 요청되었다는 점에 유의하는 것이 중요하다고 생각합니다. 2008, 그리고 OpenCV 2.0은 2019년에 출시되었습니다. 2009.버전 2.0 릴리스에는 OP가 직면했던 이전 C 인터페이스보다 작업하기가 훨씬 쉬운 C++ 래퍼가 도입되었습니다.내 .NET 프로젝트의 경우 모든 그래픽 조작은 기본 C++로 남겨둡니다.

이 시도: OpenCV 라이브러리에 연결되는 C++/CLR DLL 프로젝트를 만듭니다.OpenCV 매뉴얼에는 Windows C++ EXE에 대해 이 작업을 수행하는 방법이 설명되어 있으며, C++/CLR DLL에도 동일한 단계가 적용됩니다.그런 다음 DLL은 .NET EXE에서 호출할 수 있는 메서드를 내보냅니다.

이를 테스트하려면 약간의 조정을 통해 OpenCV 샘플을 DLL에 통합할 수 있어야 합니다.(프로젝트에 .CPP 파일을 추가하고, main() 함수를 클래스 멤버로 변환하는 등의 작업을 수행합니다.- 당신은 훈련을 알고 있습니다...) 좋은 테스트 후보는 "mat_mask_Operations" 샘플일 수 있습니다.

OpenCV.NET은 NuGet에서 사용 가능

https://bitbucket.org/horizongir/opencv.net

https://www.nuget.org/packages/OpenCV.Net

프로젝트 사이트의 기능 목록은 다음과 같습니다.

opencv.net은 인기있는 OpenCV 컴퓨터 비전 및 이미지 처리 라이브러리를위한 .NET 인터페이스입니다.이러한 바인딩은 1 년 동안 개발되었으며 다른 시도에서 누락 된 많은 기능, 즉 다음을 포함합니다.

  • 크로스 플랫폼 Mono 호환성(P/Invoke만 사용됨)
  • 최신 C API(문서화되지 않은 기능 포함)를 거의 100% 지원합니다.
  • 지원되는 모든 메서드, 클래스 및 열거형 멤버에 대한 전체 문서/인텔리센스(다양한 소스에서 힘들게 채굴됨)
  • 예외 지원
  • 가비지 수집기 친화적:
    • GC는 행렬과 이미지에 사용되는 실제 메모리를 인식합니다.
    • 동시 가비지 수집이 발생하더라도 포인터는 함수 호출에서 살아남는 것이 보장됩니다.
  • 가능한 한 C++ API를 따르는 객체 모델(향후 C++ API 지원 확대를 위해)
  • BSD 스타일 라이센스(MIT)

내 생각에 가장 좋은 래퍼는 opencvsharp입니다.http://code.google.com/p/opencvsharp/

EmguCV를 사용하여 C#에서 OpenCv를 쉽게 시작할 수 있도록 NuGet 패키지를 만들었습니다.

확인 해봐!Visual Studio에서 검색하고 추가하십시오. myEmguCV.Net NuGet 패키지.

https://www.nuget.org/packages/myEmguCV.Net

SharperCV는 우리가 선택한 도구였으며 우리를 실망시키지 않았습니다. 로봇공학 프로젝트.현재는 폐기된 것으로 표시되어 있지만 코드의 모양은 매우 양호하므로 필요에 맞게 사용자 정의하려면 약간만 조정하면 됩니다.msgbox도 없고 실제로 매우 건전한 예외 처리가 이루어졌습니다.

그러나 상호 운용성 레이어로 인해 크로스 플랫폼은 아닙니다.

나는 이 질문이 오랫동안 답변되었다는 것을 알고 있지만 아주 좋은 래퍼가 있다는 점을 덧붙이고 싶습니다. 여기.이것은 당신이 시도한 openCV 래퍼의 새로운 버전입니다. 코드 프로젝트.며칠 동안 시도해 보았는데 모든 것이 완벽하게 작동했습니다.또한 몇 분 안에 작업이 완료되었습니다.

모노와의 호환성은 모르겠지만 Visual Studio 2010에서는 정말 매력적으로 작동하여 많은 시간과 비용을 절약해 줍니다. (내 프로젝트는 상업용이며 대부분의 라이브러리는 상업용을 허용하지 않는 라이센스가 있는 오픈 소스입니다. 코드를 게시하지 않는 한 활용)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top