article search result of 'Aforge' : 1

  1. 2010.12.04 [c#][Aforge] 웹캠 영상출력 (174)

[c#][Aforge] 웹캠 영상출력



http://www.codeproject.com/KB/game/VidTextureClassWebcamApp.aspx?msg=2630927
는 속도도 그렇고., 품질이 조금 아닌듯 하여..

Aforge 로 캠영상을 받아서 픽셀을 실시간으로 Texture2D로 카피하는 계획을 세웠다.

우선 Aforge.net 으로 매우 간단한 캠 영상받기


Created with colorer-take5 library. Type 'csharp'

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using AForge.Video.DirectShow;
using AForge.Controls;

namespace AforgeTest
{
    public partial class Form1 : Form
    {
        // 크기설정
        int _wid = 640;
        int _hei = 480;


        VideoSourcePlayer player;
        public Form1()
        {
            setPlayer();
            InitializeComponent();

            this.ClientSize = new System.Drawing.Size(_wid, _hei);
            this.Load += new EventHandler(Form1_Load);
            this.FormClosing += new FormClosingEventHandler(Form1_FormClosing);
        }

        //플레이어 셋팅
        void setPlayer()
        {
            player = new VideoSourcePlayer();
            player.Width = _wid;
            player.Height = _hei;
            this.Controls.Add(player);
        }

        //초기화
        void Form1_Load(object sender, EventArgs e)
        {
            //디바이스�� 설정
            FilterInfoCollection device = new FilterInfoCollection(FilterCategory.VideoInputDevice);
            //카메라�� 설정 :: 디바이스�� 0 번째를 가져��다( 카메라가 하나일경우 )
            VideoCaptureDevice cam = new VideoCaptureDevice(device[0].MonikerString);
            //카메라�� fps 설정 :: 안해도 됨
            //cam.DesiredFrameRate = 30;

            //플레이어에 적용 / 시작
            player.VideoSource = cam;
            player.Start();
        }

        //종료
        void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            player.SignalToStop();
            player.WaitForStop();
        }

    }
}





Aforge : http://code.google.com/p/aforge/
            http://www.aforgenet.com/

참고 : http://stackoverflow.com/questions/1789684/webcam-calling-in-xna




추가 :: avi 불러오기
다음과 같이 초기화 하면 된다.


            FileVideoSource video = new FileVideoSource(@"G:\Down\movie.avi");
            player.VideoSource = video;
            player.Start();





속도가... 빠르다..
 

 
Yamecoder 야매코더_
tags : , ,
C# 2010.12.04 02:27
Powerd by Tistory, designed by criuce
rss