AForge.NET_雙攝像機鏡頭開啟

【第一階段 - 視窗介面佈局設計




擺上  兩個 寬400  高300的  pictureBox

兩個 Button  
一個將來要控制  視訊  開始撥放
一個是用來暫停

【第二階段 - 程式撰寫
快點兩下視窗
進入  Form1_Load 的程式區塊
首先  引入常用  命名空間

接著在進行宣告

private void Form1_Load(object sender, EventArgs e){.........}區塊



private void Form1_Load(object sender, EventArgs e)
        {
            USB_Webcams = new FilterInfoCollection(FilterCategory.VideoInputDevice);
            //可輸入視訊影像超過1台機器時執行
            if (USB_Webcams.Count > 0)
            {
                //Start按鈕為啟動時執行以下動作
                button1.Enabled = true;
                //從第一台視訊擷取畫面
                Cam = new VideoCaptureDevice(USB_Webcams[0].MonikerString);
                //啟動擷取視訊事件
                Cam.NewFrame += new NewFrameEventHandler(Cam_NewFrame);

            }
            else
            {
                button1.Enabled = false;//Start按鈕為停止時執行以下動作
                MessageBox.Show("No video input device is connected.");
            }
        }


Cam_NewFrame  自訂事件

這裡我們要來寫  複製視訊影像串流給另一個pictureBox控建的機制


CanvasImg  乘載的是拷貝自pictureBox1擷取到的webcam即時影像畫面

我們把它的克隆體傳遞給 pictureBox2


這裡要小心需要多引入新的命名空間

由於我們的  ResizeBilinear


是隸屬於   AForge.Imaging.Filters   這個命名空間的


以下是他的架構

public ResizeBilinear(
 int newWidth,
 int newHeight
)


更詳細可參閱這個網頁

http://www.aforgenet.com/framework/docs/html/271edbe0-5481-8882-27c8-97fdd8f12db1.htm



這裡我在開頭又多引入 兩個新的命名空間





緊接著是
button1 (對應到 start)
button2 (對應到 stop)





效果圖





以上是本次介紹!!!!





留言

這個網誌中的熱門文章

經得起原始碼資安弱點掃描的程式設計習慣培養(五)_Missing HSTS Header

經得起原始碼資安弱點掃描的程式設計習慣培養(三)_7.Cross Site Scripting(XSS)_Stored XSS_Reflected XSS All Clients

(2021年度)駕訓學科筆試準備題庫歸納分析_法規是非題