[C#](OpenCVSharp 4) - c#에서 OpenCV 카메라 열기와 처음 시작하기
안녕하세요. C#에서 OpenCV를 활용할 수 있는 방법에 대해서 소개하려고 합니다.
프로젝트->NuGet 패키지 관리를 클릭하면 위의 그림을 살펴볼 수 있습니다.
OpenCVSharp4라고 검색한 후 설치하면 됩니다.
2. 몇 가지 흥미로운 문제
소스코드는 다음과 같습니다.
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using OpenCvSharp;
namespace OpenCV_Sample
{
public partial class Form1 : Form
{
VideoCapture video;
Mat frame = new Mat();
public Form1()
{
InitializeComponent();
}
}
정상적인 경우라면, 자연스럽게 빈화면을 출력해야 합니다.
그러나 아래처럼 오류가 발생합니다.
...... DllNotFoundException: DLL 'OpencvSharpExtern'을(를) 로드할 수 없습니다. 지정된 모듈을 찾을 수 없습니다.
아래의 사이트에서 프로젝트를 다운받습니다.
https://github.com/shimat/opencvsharp/releases
CPU 기종과 운영체제 기종에 맞춰서 다운받길 바랍니다.
64bit 운영체제와 64비트 CPU를 사용하고 있어서 OpenCVSharp-4.1.1-x64-20191023.zip을 내려받습니다.
[첨부(Attachment)]
압축해제한 폴더에서 "OpenCvSharpExtern.dll"을 복사합니다. 용량이 꽤 됩니다. 59,527KB(약 60Mb) 정도 됩니다.
작업중인 프로젝트 폴더에 복사해서 붙여넣어줍니다.
C:\사용자\{사용자명}\source\repos\{프로젝트명}\{프로젝트명}
다음의 단계를 그림에 맞춰서 진행해줍니다.
OpenCvSharpExtern.dll을 선택합니다.
그리고 우측 솔루션 탐색기에서 OpenCVSharpExtern.dll을 클릭 후 속성을 바꿔줍니다.
"출력 디렉터리에 복사"에 "항상 복사"로 바꿔줍니다.
2-1. dll 기종(예: 64bit이다. 또는 32bit이다.)에 맞춰주기
지금의 작업은 OpenCV의 기종에 맞춰서 빌드 환경을 바꿔줄 것입니다.
"Any CPU"를 클릭 후 "구성관리자"를 클릭합니다.
플랫폼에서 "Any CPU"를 클릭 후 "<새로 만들기...>"을 클릭합니다.
x64로 변경하고 확인을 클릭합니다.
변경이 된 것을 확인할 수 있습니다.
3. 사용자 인터페이스(User Interface)
PictureBoxlpl을 배치하고, Timer를 배치합니다.
4. 소스코드(Source Code)
소스코드는 아래와 같습니다.
{
public partial class Form1 : Form
{
VideoCapture video;
Mat frame = new Mat();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
try
{
video = new VideoCapture(0);
video.FrameWidth = 640;
video.FrameHeight = 480;
}
catch
{
timer1.Enabled = false;
}
}
private void timer1_Tick(object sender, EventArgs e)
{
video.Read(frame);
pictureBoxIpl1.ImageIpl = frame;
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
frame.Dispose();
}
}
}
카메라를 시연하도록 하겠습니다. 얼굴은 모자이크 하였습니다.
[첨부(Attachment)]
'소프트웨어(SW) > C#(OpenCVSharp)' 카테고리의 다른 글
[C#](OpenCVSharp 2.4.10) - 사진 출력 (1) | 2019.11.12 |
---|---|
[C#](OpenCVSharp 2.4.10) - 카메라 인식, 동영상 재생 (1) | 2019.11.12 |
[C#](OpenCVSharp 4) - Face Detection(얼굴 인식) (1) | 2019.11.11 |
[C#](OpenCVSharp 4) - Image 출력하기 (1) | 2019.11.10 |