EmguCV 是從 OpenCV裡包成專給 C#用的一個函式庫,
功能可以說是非常強大,可以稱得上是目前用C#學影像處理必學的 open source
可惜的是它的語法方式比較像是舊版OpenCV C-Style的風格改編,
如果一開始就是學C++-Style的人在上手方面可能會覺得比較陌生,
不過還是大力推薦它!!
編譯環境
windows7 64bit
emgucv 2.4.9 beta
visual studio 2112 express
1.先下載 EmguCV 函式庫
2.在我的電腦裡設定環境變數
在解壓縮資料夾中,找到:
..\EmguCV\bin
..\EmguCV\bin\x64 (for 64位元)
..\EmguCV\bin\x86 (for 32位元)
3.在專案上增加參考路徑(reference path)
在專案上按右鍵,選擇屬性(property) ,把bin資料夾內要使用的版本資料夾加進來
4.加入參考 dll
在專案上按右鍵,Add reference
5.加入UI Tool
在工具(tool) -> Choose Tool Items
加入Emgu.CV.UI.dll
加入後可以在 form 的工具列看到多了幾樣UI 選擇
6.開始編譯
到這邊就已經完成囉,這邊示範的程式是
按下open按鈕,就可以開啟對話窗選擇圖片,把它讀進 pictureBox 裡
Code:
// Created by vince // Copyright (c) 2013年 vince. All rights reserved. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Emgu.CV; //for emguCV using Emgu.CV.Structure; //for Bgr namespace c_sharp_emgucv_setup { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { OpenFileDialog filename = new OpenFileDialog(); if (filename.ShowDialog() == DialogResult.OK) { string name = filename.FileName; Imageimg = new Image (name); pictureBox1.Image = img.ToBitmap(); } } } }
7.執行結果
看到圖就代表成功囉!!
8.特殊情況
有些人會在編譯成功後,執行時跳出
Emgu.CV.CvInvoke 的錯誤訊息,
可以試著把 ..bin\x64 (64 位元) 或 ..bin\x86 (32 位元) 資料夾中所有相關的
opencv_core249.dll
opencv_imgproc249.dll
......
等相關opencv_ 開頭的dll 直接丟進編譯後產生出來的debug 或release資料夾,
再執行一次應該就可以了!!(我在windows7 32bit 的電腦裡有實際用過,有成功)
作者已經移除這則留言。
回覆刪除請問一下 我灌好之後路徑變成這樣http://ppt.cc/c1qQ 請問是為什麼?
回覆刪除