웹캠의 영상처리를 위해 자료를 찾아보니 윈도우에서는 다이렉트쇼(DirectShow)를 이용하더군요.

그런데 모노프로젝트를 이용하여 멀티플랫폼을 구성할 예정이라 다이랙트X(Direct X)는 사용할수 없습니다.

 

그래서 검색해보니 오픈CV(Open CV)를 모노용으로 만들어 쓰라고 하는군요.

언제나 이런문제는 귀찬기 마련이죠 ㅎㅎㅎ

그리고 다행히 누군가 프로젝트를 진행하고 있습니다.

 

Emgu CV - OpenCV in .NET (C#, VB, C++ and more)

opencvsharp - OpenCV wrapper for .NET Framework

 

저는 'opencvsharp'를 사용하겠습니다.

Emgu CV가 유명하고 좋다고는 하는데....

'opencvsharp'는 한국커뮤니티가 잘되있고 닷넷에 익숙한 사람한테 더 편하게 되어 있다고 해서입니다 ㅎㅎㅎ

(참고 : C# - OpenCvSharp 카페 )

 

 

**** 주의 ****

최신버전에서  '.ToBitmap();' 메소드가 없어졌습니다.

2.4.5버전을 사용하셔야 합니다.

시간나는대로 수정하도록 하겠습니다.

 

첨부된 프로젝트파일이 깨진관계로 임시로 .dll을 올렸습니다.

(티스토리가 zip으로 분할압축한걸 자꾸 악성코드로 인식하네요-_-;)

근데 이게 몇버전이였는지 모르겠습니다 ㅡ.-;;

OpenCvSharp.dll

 

 

1. 필요한 파일들 다운 받기

필요한 파일은 'OpenCV'와 'opencvsharp'입니다.

'Open CV버전과 'opencvsharp'의 버전은 같아야 합니다.

 

2014년 1월 2일 기준으로 'opencvsharp'의 최신버전은 2.4.5입니다.

 

 

1-1. opencvsharp 다운 받기

opencvsharp - Downloads

 

개발할 어플리케이션은 32비트이기 때문에 'x86'버전으로 받습니다.

 

 

1-2. OpenCV 다운 받기

최신버전이 아닌 버전을 받으려면 'Downloads'로 들어가 원하는 버전을 찾아야 합니다.

 

OpenCV - DOWNLOADS

 

2.4.5버전에서 윈도우 버전을 받습니다.

 

 

 

2. 설치하기

윈폼프로젝트를 생성합니다.

그리고 참조를 합니다.

 

(1) 지금 당장 쓸 내용은 'OpenCvSharp.dll'에 들어 있으므로 'OpenCvSharp.dll'만 참조 합니다.

 

 

 

 

(2) 이제 빌드를 한번 합니다.

 

(3)빌드를 한후 개발중인 프로젝트의 폴더로 들어가 'bin'폴더를 찾습다,

'bin'폴더 안에 자신이 테스트할 빌드구성에 해당하는 폴더로 들어 갑니다.

 

 

 

(4) 여기에 다운받은 opencv에서

build > x86 > vc11 > bin

를 들어 갑니다.

(64비트인 경우 x64를 받아야 겠죠?)

 

(5) (4)에 들어 있는 모든 dll을 (3)의 폴더로 복사 합니다.

 

이렇게 하면 준비가 끝났습니다.

 

 

 

 

 

 

 

2. 테스트 프로그램 만들기

Form1에 픽처박스를 추가한후 폼을 더블클릭하여 Load이벤트를 생성해 줍니다.

 

생성된 Load이벤트에 다음 코드를 넣습니다.

 

private void Form1_Load(object sender, EventArgs e)
{
	IplImage img = Cv.LoadImage("imgTest.jpg");

	pictureBox1.Image = img.ToBitmap();

	img.Dispose();
}

 

 

Cv.LoadImage("imgTest.jpg");

이 구분으로 하드에 있는 이미지를 불러 옵니다.

자신이 가지고 있는 이미지의 경로를 넣어 주세요.

 

이제 실행해 보겠습니다.

 

 

이미지가 잘나오네요.

 

만약 여기서 'opencvsharp'관련 에러가 난다면 '2. 설치 하기'의 폴더에 'opencvsharp'의 모든 dll을 옮겨줍니다.

 

 

프로젝트 파일입니다.

OpenCV_Image

 

OpenCV_Image.z01

 

OpenCV_Image.zip

 

 

마무리

 

문제는 모노에서 잘돌아가냐인데.....

모노에서 사용하려면 컴파일을 해야 한다고 합니다.

일단 해봐야 알겠네요 ㅡ.-;;;

 

 



 

 

  1. 2015.05.17 20:29  Address  Edit/Delete  Reply

    비밀댓글입니다

    • Favicon of https://blog.danggun.net BlogIcon 당근천국 2015.05.17 21:06 신고  Address  Edit/Delete

      OpenCVSharp이 업데이트 되면서 해당 메소드가 사라진듯합니다,
      첨부되어있는 프로젝트에 들어있는 OpenCVSharp.dll이용하셔 할듯 합니다 ㅜㅡ

      튜토리얼은 업데이트가 안되있어서 같은 기능을 어떻게 사용해야할지 아직 확인중에 있습니다.

  2. 나그네 2015.07.13 10:19  Address  Edit/Delete  Reply

    안녕하세요. 이 댓글을 지금 보실런지 모르겠습니다만.. 꼭 좀 보시고 댓글 부탁드립니다.
    현재 open cv의 최신버전이 3.0으로 다운 받을 수 있는데.. opencvsharp 최신버전은 2.4.10 (04 Jun., 2015)인가요..??
    C#에서 3.0은 쓸 수 없는지.. 네이버 관련 카페를 가입했는데 질문글올릴려면 조건이 필요해서요..
    꼭 좀 댓글 부탁드릴게요...

  3. 나그네 2015.07.13 17:33  Address  Edit/Delete  Reply

    2.4.10 으로 받아서 테스트하니깐... ToBitmap();에서 계속 오류나네요...ㅠㅠㅠㅠ

    • Favicon of https://blog.danggun.net BlogIcon 당근천국 2015.07.13 19:32 신고  Address  Edit/Delete

      첫번째 답변이 같은 내용입니다 ㅎㅎㅎ

      OpenCVSharp이 업데이트 되면서 해당 메소드가 사라진듯합니다,
      첨부되어있는 프로젝트에 들어있는 OpenCVSharp.dll이용하셔 할듯 합니다.

  4. 2015.08.02 18:37  Address  Edit/Delete  Reply

    비밀댓글입니다

    • Favicon of https://blog.danggun.net BlogIcon 당근천국 2015.08.02 18:41 신고  Address  Edit/Delete

      OpenCVSharp이 업데이트 되면서 해당 메소드가 사라졌습니다.
      '2.4.5'버전을 사용하셔야 합니다.
      첨부되어있는 프로젝트에 들어있는 OpenCVSharp.dll이용하셔 할듯 합니다.

  5. 채형묵 2015.08.06 02:15  Address  Edit/Delete  Reply

    2.4.5 버전이 없습니다....사라진거 같아요..혹시 파일 가지고 계신가요?

    • Favicon of https://blog.danggun.net BlogIcon 당근천국 2015.08.06 18:13 신고  Address  Edit/Delete

      첨부된 프로젝트를 받으시면 'bin'폴더에 들어 있습니다.
      인데.....악성코드로 제한됐네요-_-;;;;
      뭐지 매번 검사하고 올리는데 뭥미.
      테스트용 프로젝트는 별도의 백업을 안하고 있는데 난감하네요.

      일단 dll을 찾아서 올렸는데....이게 몇버전인지 모르겠습니다 ㅡ.-;;

  6. 지나가다가 2016.11.01 10:45  Address  Edit/Delete  Reply

    잘읽고갑니다!
    tobitmap()이 없는 다른 버전에서는
    OpenCvSharp.Extensions, OpenCvSharp.CPlusPlus 참조를 추가해주시고
    앞쪽에 using OpenCvSharp; using OpenCvSharp.Extensions; 참조 해주시면
    Bitmap bitmap = BitmapConverter.ToBitmap(img); 이런식으로 사용 가능합니다ㅎㅎ

댓글 작성

이름
패스워드
홈페이지
비밀글