Microsoft MVP성태의 닷넷 이야기
개발 환경 구성: 447. Visual Studio Code에서 OpenCvSharp 개발 환경 구성 [링크 복사], [링크+제목 복사]
조회: 11972
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

(시리즈 글이 10개 있습니다.)
.NET Framework: 707. OpenCV 응용 프로그램을 C#으로 구현 - OpenCvSharp
; https://www.sysnet.pe.kr/2/0/11402

.NET Framework: 708. C# - OpenCvSharp을 이용한 동영상(avi, mp4, ...) 처리
; https://www.sysnet.pe.kr/2/0/11403

.NET Framework: 709. C# - OpenCvSharp을 이용한 동영상(avi, mp4, ...) 처리 + Direct2D
; https://www.sysnet.pe.kr/2/0/11404

.NET Framework: 710. C# - OpenCvSharp을 이용한 Webcam 영상 처리 + Direct2D
; https://www.sysnet.pe.kr/2/0/11405

.NET Framework: 711. C# - OpenCvSharp의 Mat 데이터 조작 방법
; https://www.sysnet.pe.kr/2/0/11406

.NET Framework: 723. C# - OpenCvSharp 사용 시 C/C++을 이용한 속도 향상 (for 루프 연산)
; https://www.sysnet.pe.kr/2/0/11422

VC++: 123. 내가 만든 코드보다 OpenCV의 속도가 월등히 빠른 이유
; https://www.sysnet.pe.kr/2/0/11423

.NET Framework: 781. C# - OpenCvSharp 사용 시 포인터를 이용한 속도 향상
; https://www.sysnet.pe.kr/2/0/11567

개발 환경 구성: 447. Visual Studio Code에서 OpenCvSharp 개발 환경 구성
; https://www.sysnet.pe.kr/2/0/11971

Graphics: 38. C# - OpenCvSharp.VideoWriter에 BMP 파일을 1초씩 출력하는 예제
; https://www.sysnet.pe.kr/2/0/12485




Visual Studio Code에서 OpenCvSharp 개발 환경 구성

예전에 Visual Studio를 이용한 개발 환경 구성을 살펴봤는데요.

OpenCV 응용 프로그램을 C#으로 구현 - OpenCvSharp
; https://www.sysnet.pe.kr/2/0/11402

이번엔 Visual Studio Code 환경에서 해보겠습니다. 가장 먼저 프로젝트의 기준이 될 폴더를 선택해야겠죠. 그다음 TERMINAL(Ctrl + `)에 들어가 콘솔 프로젝트를 만듭니다.

c:\temp> dotnet new console

프로젝트가 만들어졌으니 OpenCvSharp 관련 패키지를 추가해야 하는데, 의외군요... 확장 뷰에서 NuGet 패키지 관리자가 마이크로소프트에 의해 배포되는 것이 없습니다. 왜냐하면, ^^; 이미 dotnet 명령어에 포함되어 있기 때문인데, 그냥 TERMINAL 창에서 다음과 같이 2개의 명령어로 OpenCvSharp 패키지를 추가하면 됩니다.

c:\temp> dotnet add package OpenCvSharp4 
c:\temp> dotnet add package OpenCvSharp4.runtime.win 

또는, 위의 2개 패키지를 포함하고 있는 OpenCvSharp4.Windows 하나를 추가합니다.

c:\temp> dotnet add package OpenCvSharp4.Windows 

소스 코드 입력하고,

using OpenCvSharp;

namespace src
{
    class Program
    {
        static void Main(string[] args)
        {
            Mat src = new Mat("lenna.png", 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();
            }
        }
    }
}

Ctrl + Shift + B키로 빌드하거나, 또는 TERMINAL 창에서 "dotnet build"로 빌드하면 됩니다. (이후 실행은 Ctrl + F5, 디버깅은 F5)

(이 글의 예제 코드는 github - OpenCvSharp4Sample에서 제공합니다.)




현재, OpenCvSharp4.runtime.win 패키지가 .NET Core를 명시적으로 지원하지 않으므로 빌드하면 다음과 같은 경고가 뜹니다.

D:\Temp\OpenCvSharp4Sample\OpenCvSharp4Sample.csproj : warning NU1701: Package 'OpenCvSharp4.runtime.win 4.1.0.20190416' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework '.NETCoreApp,Version=v2.0'. This package may not be fully compatible with your project.

귀찮더라도 일단은 그냥 무시하시고, 시간이 지나면 해결이 될 것입니다. ^^




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 7/3/2019]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 16  17  18  19  20  21  22  [23]  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
13053정성태5/10/20226513.NET Framework: 2006. C# - GC.KeepAlive 메서드의 역할
13052정성태5/9/20226507.NET Framework: 2005. C# - 생성한 참조 개체가 언제 GC의 정리 대상이 될까요?
13051정성태5/8/20226475.NET Framework: 2004. C# XingAPI - ACF 검색 결과로 구한 CSV 파일을 통해 퀀트 종목 찾기파일 다운로드1
13050정성태5/6/20226522.NET Framework: 2003. C# - COM 개체의 이벤트 핸들러에서 발생하는 예외에 대한 CLR의 특별 대우파일 다운로드1
13049정성태5/6/20225489오류 유형: 811. GoLand - Error: Cannot find package
13048정성태5/6/20226621오류 유형: 810. "ASUS TUF GAMING B550M-PLUS (WI-FI)" 모델에서 블루투스 장치가 인식이 안 되는 문제
13047정성태5/6/20226606오류 유형: 809. Speech Recognition could not start
13046정성태5/5/20226904.NET Framework: 2002. C# XingAPI - ACF 파일을 이용한 퀀트 종목 찾기(t1857)
13045정성태5/5/20226957.NET Framework: 2001. C# XingAPI - 주식 종목에 따른 PBR, PER, ROE 구하는 방법(t3341 예제)
13044정성태5/4/20226413오류 유형: 808. error : clang++ exited with code 127
13043정성태5/3/20226072오류 유형: 807. C# - 닷넷 응용 프로그램에서 Informix DB 사용 시 오류 메시지 정리
13042정성태5/3/20226428.NET Framework: 2000. C# - 닷넷 응용 프로그램에서 Informix DB 사용 방법파일 다운로드1
13041정성태4/28/20226706개발 환경 구성: 642. Informix 데이터베이스 docker 환경 구성
13040정성태4/27/20227220VC++: 156. 비주얼 스튜디오 - Linux C/C++ 프로젝트에서 openssl 링크하는 방법
13039정성태4/27/20228031.NET Framework: 1999. C# - Playwright를 이용한 간단한 브라우저 제어 실습
13038정성태4/26/20225912오류 유형: 806. twine 실행 시 ConfigParser.ParsingError: File contains parsing errors: /root/.pypirc
13037정성태4/25/20226229.NET Framework: 1998. Azure Functions를 사용한 간단한 실습
13036정성태4/24/20226966.NET Framework: 1997. C# - nano 시간을 가져오는 방법 [2]
13035정성태4/22/20227550Windows: 204. Windows 10부터 바뀐 QueryPerformanceFrequency, QueryPerformanceCounter
13034정성태4/21/20226930.NET Framework: 1996. C# XingAPI - 주식 종목에 따른 PBR, PER, ROE, ROA 구하는 방법(t3320, t8430 예제)파일 다운로드1
13033정성태4/18/20227548.NET Framework: 1195. C# - Thread.Yield와 Thread.Sleep(0)의 차이점(?)
13032정성태4/17/20227250오류 유형: 805. Github의 50MB 파일 크기 제한 - warning: GH001: Large files detected. You may want to try Git Large File Storage
13031정성태4/15/20226786.NET Framework: 1194. C# - IdealProcessor와 ProcessorAffinity의 차이점
13030정성태4/15/20226478오류 유형: 804. 정규 표현식 오류 - Quantifier {x,y} following nothing.
13029정성태4/14/20226874Windows: 203. iisreset 후에도 이전에 설정한 전역 환경 변수가 w3wp.exe에 적용되는 문제
13028정성태4/13/20226791.NET Framework: 1193. (appsettings.json처럼) web.config의 Debug/Release에 따른 설정 적용
... 16  17  18  19  20  21  22  [23]  24  25  26  27  28  29  30  ...