[ C# OpenCV ] 씨샾 오픈씨브이 - 웹캠 카메라 출력

[ C# OpenCV ] 씨샾 오픈씨브이 - 웹캠 카메라 출력



1. 카메라 연결 후 장치 관리자 확인

    - 카메라 연결 상태 확인



2. C# 신규 프로젝트 생성

    - WindowsForms 생성



3. Form1 속성 이벤트 추가

    - Form1_Load 이벤트 추가
    - Form1_FormClosed 이벤트 추가



4. 도구 상자 PictureBox 만들기




5. 도구 상자 Timer 만들기

    - timer1 속성 이벤트 timer1_Tick 추가



6. 전체 소스 구성

    - 주석 참조

==============================
using System;
using System.Drawing;
using System.Windows.Forms;

// 1. OpenCvSharp using 하기
using OpenCvSharp;

namespace OpenCV_CameraOpen
{
    public partial class Form1 : Form
    {
        // 2. 전역 변수 VideoCapture 선언
        VideoCapture _videoCapture;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // 3. 0번 카메라를 연결
            _videoCapture = new VideoCapture( 0 );

            // 4. 카메라 연결이 되었으면 타이머 시작
            if (_videoCapture.IsOpened())
                timer1.Start();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            // 5. Frame을 저장할 Mat 생성
            Mat mat = new Mat();

            // 6. 카메라 영상 mat 저장
            _videoCapture.Read(mat);

            // 7. mat에 이미지를 bitmap 으로 전환
            Bitmap bitmap = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat);

            // 8. pictureBox1 에 bitmap 에 저장한 이미지 출력
            pictureBox1.Image = bitmap;
        }

        private void Form1_FormClosed(object sender, FormClosedEventArgs e)
        {
            // 9. 타이머 동작 정지
            timer1.Stop();

            // 10. 타이머 모든 리소스 해제
            timer1.Dispose();
        }
    }
}
==============================


7. 실행 및 결과





댓글