EmguCV_開啟視訊_通道分割

今天我們要來  用C#版的   EmguCV  來進行

影像 / 視訊 的處理



首先    開發環境要處理好

這裡我用的是   Visual Studio 2013版本



EmguCV  版本    是   使用    3.0.0.2157









===============================================================

作業系統   是    win10    x64











===============================================================

首先   是   介面部分    請去拉  一個  pictureBox物件




















可以添加  按鈕   之後再寫   相關  應用  變化

之後   去撰寫程式碼

最乾淨俐落的程式碼  片段  分三區塊(三個步驟)

Step1.  宣告

Step2. 開啟webcam

Step3.  取得視訊一張張的 frame


































這裡我們在開啟了   攝像機  之後

利用

Application.Idle += new EventHandler(自己取的函式名稱);




官方  Documentation 連結說明

https://msdn.microsoft.com/zh-tw/library/system.windows.forms.application.idle(v=vs.100).aspx





Application.Idle 事件









Application  這個   類別

需引用 【命名空間】 System.Windows.Forms


Application.Idle功能函數

 ==>  當應用程式處於空閒狀態時執行相應代碼

執行完之後  的  結果















分析程式碼結構


法一. 先宣告  再取frame




法二.  再宣告當下  同時取  frame






===========================================================

通道分割









好   這次教學文章先到這






留言

  1. 您好 我想問您這個程式執行的問題。

    參考程式撰寫執行時會出現Overflow for imageSize的錯誤。
    如果參考您程式最後註解而改用mat是可以做影像顯示,但是就沒有辦法做影像矩陣的編輯。
    請問這部分您有建議的寫法嗎?

    回覆刪除
    回覆
    1. 你好
      從你的回應看起來是有影像大小溢位的問題
      emgucv 3.x 之後的建議都可以改用.Mat去做相關運算
      此範例是練習時用的
      觀念上的小示範
      「影像矩陣的編輯」想問是要做捨麼樣的處理?
      通道分割其實可以直接用Emgucv(opencv C#版本API)內建函數
      Split()
      可以參考這篇相關教學
      http://2016webcam.blogspot.com/2016/09/emgucv31-2015emgucv.html
      如有問題歡迎截圖討論

      刪除
  2. 影像相關矩陣的運算
    前面要看是有座捨麼處理
    才能得知Overflow for imageSize錯誤的真因
    此外opencv函數上使用的相關教學資源
    會比emgucv來得多
    可以從opencv (python / C++)相關API呼叫操作代碼
    嘗試改為在C#上調用試看看
    若有執意要用其開發的話

    回覆刪除

張貼留言

這個網誌中的熱門文章

何謂淨重(Net Weight)、皮重(Tare Weight)與毛重(Gross Weight)

Architecture(架構) 和 Framework(框架) 有何不同?_軟體設計前的事前規劃的藍圖概念

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