휴지통/실습

C#, OpenCV를 이용하여 웹캠을 작동시켜 화면을 출력하자.

쩡우. 2018. 7. 18. 11:50
반응형

C#, OpenCV를 이용하여 웹캠을 작동시켜 화면을 출력해 보자.



Form [디자인] 에 가서 Timer를 추가하고 속성을 아래 사진처럼 변경한다.

타이머를 더블클릭하여 이벤트를 추가한 후 소스 작성

 private void timer1_Tick(object sender, EventArgs e)
        {
            src = capture.QueryFrame();
            pictureBoxIpl1.ImageIpl = src;
        }




네임스페이스 OpenCv를 사용할거라고 선언

using OpenCvSharp;

영상을 받아올 CVCapture와 출력할 IplImage를 선언

CvCapture capture;
IplImage src;


폼을 실행할 때 발생

private void Form1_Load(object sender, EventArgs e)
        {
            try
            {
                capture = CvCapture.FromCamera(CaptureDevice.DShow, 0); // 노트북일경우 0은 내장카메라 , 1은 외장카메라 // 데스크탑일 경우 처음 연결한게 0
                capture.SetCaptureProperty(CaptureProperty.FrameWidth, 480);    // 화면의 크기(pictureBoxIpl의 width보다 같거나 작으면 됨
                capture.SetCaptureProperty(CaptureProperty.FrameHeight, 300);   // 화면의 크기(pictureBoxIpl의 height보다 같거나 작으면 됨
            }
            catch
            {
                timer1.Enabled = false;
            }
        }


폼을 종료할때 발생

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            Cv.ReleaseImage(src);
            if (src != null) src.Dispose();
        }



기본적으로 카메라를 출력하는 방법이다.



 https://076923.github.io/posts/C-opencv-3/ 여기를 참고하여 공부를 했다.

반응형