• OpenCV的C#版本EmguCV-1、安装和环境配置


    目录

    一、前言

    二、EmguCV安装和配置

    1、EmguCV exe软件安装

    2、EmguCV库文件方法

    三、C#工程中引用

    工程下载连接


    一、前言

    在.NET中使用EmguCV可以分为两种方式,一种就是将下载的exe程序安装、配置好后在工程中应用,另一种就是将DLL库文件和运行需要的文件直接拷贝到工程中。

    二、EmguCV安装和配置

    1、EmguCV exe软件安装

    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”)

    2、EmguCV库文件方法

     添加库文件引用,若Emgu.CV.UI已经存在则先删除再添加,否则程序运行出错。

    复制到工程Debug或者Release文件夹下面,否则无法运行

    在工具箱中添加EmguCV选项卡,然后添加Emgu.CV.UI.dll,即可添加对应的控件

     

    三、C#工程中引用

    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

     代码

    1. private void Form1_Load(object sender, EventArgs e)
    2. {
    3. //简单图像处理
    4. Mat img = CvInvoke.Imread(@"C:\Users\Administrator\Desktop\EmguCV Test\Image\LZL.jpg", LoadImageType.Unchanged);
    5. if (img.IsEmpty)
    6. {
    7. Console.WriteLine("can not load the image \n");
    8. }
    9. //CvInvoke.Imshow("Image", img);
    10. imageBox1.Image = img;
    11. //转换为灰度图像
    12. Mat grayImg = new Mat();
    13. CvInvoke.CvtColor(img, grayImg, ColorConversion.Rgb2Gray);
    14. //CvInvoke.Imshow("Gray Image", grayImg);
    15. imageBox2.Image = grayImg;
    16. //查找边缘
    17. Mat sobelImg = new Mat();
    18. CvInvoke.Sobel(grayImg, sobelImg, grayImg.Depth, 1, 0);
    19. //使用canny算子查找边缘
    20. Mat cannyImg = new Mat();
    21. CvInvoke.Canny(grayImg, cannyImg, 20, 40);
    22. //CvInvoke.Imshow("Canny Image", cannyImg);
    23. imageBox3.Image = cannyImg;
    24. }

    运行

    4、创建控制台测试工程

    程序

    1. static void Main(string[] args)
    2. {
    3. //简单图像处理
    4. Mat img = CvInvoke.Imread(@"C:\Users\Administrator\Desktop\EmguCV Test\Image\LZL.jpg", LoadImageType.Unchanged);
    5. if (img.IsEmpty)
    6. {
    7. Console.WriteLine("can not load the image \n");
    8. }
    9. CvInvoke.Imshow("Image", img);
    10. ;
    11. Mat grayImg = new Mat();
    12. //转换为灰度图像
    13. CvInvoke.CvtColor(img, grayImg, ColorConversion.Rgb2Gray);
    14. CvInvoke.Imshow("Gray Image", grayImg);
    15. //sobel
    16. Mat sobelImg = new Mat();
    17. CvInvoke.Sobel(grayImg, sobelImg, grayImg.Depth, 1, 0);
    18. //使用canny算子查找边缘
    19. Mat cannyImg = new Mat();
    20. CvInvoke.Canny(grayImg, cannyImg, 20, 40);
    21. CvInvoke.Imshow("Canny Image", cannyImg);
    22. CvInvoke.WaitKey(0);
    23. }

    运行

    工程下载连接

    https://download.csdn.net/download/panjinliang066333/85711221

  • 相关阅读:
    【重铸Java根基】为什么Java中只有值传递
    京东小程序数据中心架构设计与最佳实践
    【Spring】AOP的三种方式
    基于k近邻算法的干豆品种分类
    Java后端开发(五)-- 对象转换工具类
    mac每次重启后都会出现zsh: command not found: code
    鲁棒局部均值分解 (RLMD)附Matlab代码
    1个月写900多条用例,2线城市年薪33W+的测试经理能有多卷?
    Redis 不同插入方法的性能对比
    创建一个新的IDEA插件项目
  • 原文地址:https://blog.csdn.net/panjinliang066333/article/details/125364123