如何在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>
封裝在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>
留言
張貼留言