2020年12月28日 星期一

在C#上使用Nuget套件安裝EmguCV

markdown 還記得2.X版需要下載一包檔案在解壓縮,並設定環境變數 才能在C#上使用EmguCV的函式庫 在EmguCV 4已經可以在C#內建的NuGet套件管理員上做安裝,非常方便 官網安裝教學:網址 打開VS 進到NuGet套件管理員,搜尋emgu





安裝由Emgu Corporation發布的Emgu.CV.runtime.windows 安裝後來測試看看 讀入圖片並進行邊緣檢測 GUI介面拉一個button 跟picturebox ```=C# public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { OpenFileDialog o = new OpenFileDialog(); o.InitialDirectory = AppDomain.CurrentDomain.BaseDirectory; o.Title = "請選擇圖片"; o.Filter = "Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files (*.*)|*.*"; if (o.ShowDialog() == DialogResult.OK) { Image

image = new Image(o.FileName); Mat edges = new Mat(); CvInvoke.Canny(image, edges, 3, 3 * 3, 3); pictureBox1.Image = edges.ToBitmap(); } } } ``` 打完會出現無法將類型 'Emgu.CV.Image' 隱含轉換成 'System.Drawing.Image 這邊要在NuGet多安裝EmguCV套件,才能將image格式轉換為Bitmap 套件名稱為Emgu.CV.Bitmap 安裝後就可以將Image格式轉換為Bitmap讓picturebox顯示 pictureBox1.Image = image.ToBitmap(); 出現一個錯誤 ``` 識別為 'Emgu.CV.Bitmap, Version=4.4.0.4099, Culture=neutral, PublicKeyToken=7281126722ab4438' 的組件 'Emgu.CV.Bitmap' 會使用 'Emgu.CV.Platform.NetStandard, Version=4.4.0.4099, Culture=neutral, PublicKeyToken=7281126722ab4438',而後者的版本高於識別為 'Emgu.CV.Platform.NetStandard, Version=4.4.0.4061, Culture=neutral, PublicKeyToken=7281126722ab4438' 的參考組件 'Emgu.CV.Platform.NetStandard' ``` 這裡須將NuGet內的套件版本修改為同一版本號



對Emgu.CV點擊進行版本更新 

就可以執行了

沒有留言:

張貼留言

AOI產業職涯規畫相關文章