如何在WPF上掛載Emgucv_限定用在WindowsForm環境下imagebox所需套件

Emgu中有提供一個ImageBox的控件,
封裝在Emgu.CV.UI,可以直接加載Image<,>圖像。

但是很尷尬的一點是imageBox這個控件只支持Windows Form,不支持WPF。


因此
第一個問題!!!!!

Q1.
我們需要在WPF平台上加載Windows Form套件



Q2
然後再加載ImageBox的元件。



目標 ----->使  在  WPF環境下也能使用  emgucv  的   Emgu.CV.UI  介面套件




Stage1.在WPF平台上加載Windows Form套件

首先  我們需要去抓取這兩個  dll檔




之後新增你的  WPF 專案



























這是剛開啟時的環境狀況






















添加剛剛那兩個  dll檔案






















添加完兩個dll以後,就可以在左側元件庫中找到WindowsFormsHost這個元件了。

這個元件是我們添加Windows Form控件的基石。




















拖拉出來   是個灰色的東西




















拖放完元件以後在下方xaml代碼區塊中會自動生成相應XAML code



在xaml的開始處添加兩行代碼
xmlns:WinFormHost="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration" 
xmlns:WinFormControls="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"















這樣就可以在WindowsFormsHost下放需要的Windows Form元件了























Stage2.加載ImageBox的元件


首先我們要添加   emgucv  的  dll   

若為初次配置  Emgu  記得  環境變數  要設置

設置請參考前幾篇教學文章

照理講這裡最基本  要添加的dll

就這三個

Emgu.CV
Emgu.Util
Emgu.CV.UI




















工具 --> 選擇工具箱項目-->瀏覽(一般若是在 Windows Form環境習慣這麼加入)























這裡由於是  WPF  環境  無法這麼加入





我們需要加載的是ImageBox







第一修改   把這行加進   xaml  開始處
xmlns:WinFormControls="clr-namespace:Emgu.CV.UI;assembly=Emgu.CV.UI"
第二修改












<WindowsFormsHost x:Name="cam_winform" Margin="1,0,-1,0">
            <WinFormControls:ImageBox x:Name="cam_ibox" FunctionalMode="Minimum"/>
        </WindowsFormsHost>



留言

這個網誌中的熱門文章

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

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

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