目录
在.NET中使用EmguCV可以分为两种方式,一种就是将下载的exe程序安装、配置好后在工程中应用,另一种就是将DLL库文件和运行需要的文件直接拷贝到工程中。
EmguCV是OpenCV的.NET版本,支持C#、VB.NET等编程语言。本次测试软件环境为win10+VS2013+EmguCV3.0。
EmguCV各个版本官方下载地址:Emgu CV - Browse /emgucv at SourceForge.net
EmguCV3.0网盘下载
链接:https://pan.baidu.com/s/1iiIQamh6qSaY6RGonbtFKw
提取码:hccj
(1)双击exe安装程序,然后点击下一步
(2)选择安装路径,路径名称不要使用中文,然后点击下一步开始解压安装
(3)计算机属性配置
选择“计算机”——>右击“属性”——>“高级系统设置”——>“高级”——>“环境变量”——>“系统变量”,双击Path添加安装目录(如“C:\EmguCV\emgucv-windows-universal 3.0.0.2157\bin\x64”)中间用分号英文隔开。(32位操作系统选“…\bin\86”)
添加库文件引用,若Emgu.CV.UI已经存在则先删除再添加,否则程序运行出错。
复制到工程Debug或者Release文件夹下面,否则无法运行
在工具箱中添加EmguCV选项卡,然后添加Emgu.CV.UI.dll,即可添加对应的控件
1、创建winform工程,使用添加库文件方法
下载库文件
https://download.csdn.net/download/panjinliang066333/85711171
将该库文件夹复制指定路径位置
2、在工程添加引用选中的Dll库文件,若Emgu.CV.UI已经存在则先删除再添加,否则程序运行出错。
3、Winform程序
不管是控制台程序还是Winform程序,都要将该文件夹复制到Debug或者Release文件夹下面。
UI界面
添加3个imageBox(Emgu.CV.UI.ImageBox)
设置背景黑色、SizeMode为Zoom
代码
- private void Form1_Load(object sender, EventArgs e)
- {
- //简单图像处理
- Mat img = CvInvoke.Imread(@"C:\Users\Administrator\Desktop\EmguCV Test\Image\LZL.jpg", LoadImageType.Unchanged);
- if (img.IsEmpty)
- {
- Console.WriteLine("can not load the image \n");
- }
- //CvInvoke.Imshow("Image", img);
- imageBox1.Image = img;
-
-
- //转换为灰度图像
- Mat grayImg = new Mat();
- CvInvoke.CvtColor(img, grayImg, ColorConversion.Rgb2Gray);
- //CvInvoke.Imshow("Gray Image", grayImg);
- imageBox2.Image = grayImg;
-
-
- //查找边缘
- Mat sobelImg = new Mat();
- CvInvoke.Sobel(grayImg, sobelImg, grayImg.Depth, 1, 0);
- //使用canny算子查找边缘
- Mat cannyImg = new Mat();
- CvInvoke.Canny(grayImg, cannyImg, 20, 40);
- //CvInvoke.Imshow("Canny Image", cannyImg);
- imageBox3.Image = cannyImg;
-
- }
运行
4、创建控制台测试工程
程序
- static void Main(string[] args)
- {
- //简单图像处理
- Mat img = CvInvoke.Imread(@"C:\Users\Administrator\Desktop\EmguCV Test\Image\LZL.jpg", LoadImageType.Unchanged);
- if (img.IsEmpty)
- {
- Console.WriteLine("can not load the image \n");
- }
- CvInvoke.Imshow("Image", img);
- ;
- Mat grayImg = new Mat();
- //转换为灰度图像
- CvInvoke.CvtColor(img, grayImg, ColorConversion.Rgb2Gray);
- CvInvoke.Imshow("Gray Image", grayImg);
- //sobel
- Mat sobelImg = new Mat();
- CvInvoke.Sobel(grayImg, sobelImg, grayImg.Depth, 1, 0);
- //使用canny算子查找边缘
- Mat cannyImg = new Mat();
- CvInvoke.Canny(grayImg, cannyImg, 20, 40);
- CvInvoke.Imshow("Canny Image", cannyImg);
-
- CvInvoke.WaitKey(0);
-
- }
运行
https://download.csdn.net/download/panjinliang066333/85711221