【OpenCV】在 Mac OS 上使用 EmguCV

这篇具有很好参考价值的文章主要介绍了【OpenCV】在 Mac OS 上使用 EmguCV。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,它具有C++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS。 Emgu CV是OpenCV图像处理库的跨平台 .Net 包装器。允许从 .NET 兼容语言调用OpenCV函数。但是网上目前关于在Mac OS上使用EmguCV的教程较少,而我后续推出的OpenVINO C# API项目将支持Mac OS系统,为了大家后续能够使用,特出一期教程来演示一下Mac OS上使用EmguCV。

1. 项目环境

  • 编码环境:Visual Studio Code
  • 程序框架:.NET 6.0

  目前在Mac OS上使用C#语言官方提供了编译Visual Studio for Mac,但是根据官方发布的通知后续将不再支持该软件更新,后续将全部转移到Visual Studio Code平台,所以在此处我们演示使用Visual Studio Code进行演示。而代码的运行与配置使用dotnet指令实现。

  关于Visual Studio Code以及.NET的安装方式可以参考一下官方教程:
在 macOS 上安装 .NET、Visual Studio Code on macOS。

2. 创建控制台项目

  此处使用dotnet指令创建新项目,在Visual Studio Code的终端中输入一下指令:

dotnet new console --framework net6.0 --use-program-main -o test_emgucv

  如下图所示,在终端中输入以下指令后,会自动创建新的项目以及项目文件夹。

【OpenCV】在 Mac OS 上使用 EmguCV

  在创建好项目后,我们进行一下项目测试,依次输入以下指令,最后输出如下图所示:

cd test_emgucv
dotnet run

【OpenCV】在 Mac OS 上使用 EmguCV

3. 添加 Nuget Package 程序包

  Emgu CV是一个可以跨平台使用的程序包,并且官方也提供了编译好的程序包,用户可以根据自己的平台进行安装。在Mac OS上,主要需要安装一下两个包,分别是Emgu.CV的官方程序包以及Emgu.CV的运行依赖包。

dotnet add package Emgu.CV
dotnet add package Emgu.CV.runtime.mini.macos

  安装完上面两个安装包后,项目的配置的文件中会增加下面两个配置。

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Emgu.CV" Version="4.8.1.5350" />
    <PackageReference Include="Emgu.CV.runtime.mini.macos" Version="4.8.1.5350" />
  </ItemGroup>

</Project>

  接下来运行dotnet run,检验项目中是否包含所需要的配置文件:Emgu.CV.dllruntimes/osx/native/libcvextern.dylib。打开项目运行生成的文件夹bin/{build_config}/{dotnet_version}/,在本项目中是bin/Debug/net6.0/文件夹,如下图所示:

【OpenCV】在 Mac OS 上使用 EmguCV

  通过该图可以看出,在本项目中只有Emgu.CV.dll文件,并没有runtimes/osx/native/libcvextern.dylib文件,因该文件需要我们自行配置。首先是需要找到该文件,该文件主要是在Emgu.CV.runtime.mini.macos程序包中,如下图所示:

【OpenCV】在 Mac OS 上使用 EmguCV

  接下来就是创建runtimes/osx/native/文件夹,然后将该文件放在该文件夹下即可。如下图所示:

【OpenCV】在 Mac OS 上使用 EmguCV

3. 测试应用

  最后我们编写项目代码进行测试,如下面代码所示:

using System;
using Emgu.CV;
using Emgu.Util;
using Emgu.CV.Structure;
using Emgu.CV.CvEnum;
namespace test_emgucv 
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Mat image = CvInvoke.Imread("image.jpg");
            Mat image2=new Mat();
            if (!image.IsEmpty)
            {
                Console.WriteLine("srcImg is OK!");
            }
            Console.WriteLine("图像的宽度是:{0}",image.Rows);
            Console.WriteLine("图像的高度是:{0}", image.Cols);
            Console.WriteLine("图像的通道数是:{0}", image.NumberOfChannels);
            CvInvoke.Imshow("src", image);
            CvInvoke.CvtColor(image, image2, ColorConversion.Bgr2Gray);//转为灰度图像
            CvInvoke.Imshow("src1", image2);
            CvInvoke.WaitKey(0);
            CvInvoke.DestroyAllWindows();//销毁所有窗口
        }
    }
}

  项目代码运行后,最后呈现效果如下图所示:

【OpenCV】在 Mac OS 上使用 EmguCV

4. 总结

  在本次项目中,我们成功实现了在Mac OS上使用EmguCV,并成功配置了EmguCV依赖库,实现了在.NET 6.0环境下使用C#语言调用EmguCV库,实现的图片数据的读取以及图像色彩转换,并进行了图像展示。文章来源地址https://www.toymoban.com/news/detail-776754.html

到了这里,关于【OpenCV】在 Mac OS 上使用 EmguCV的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Mac OS 使用远程桌面登录服务器

    Mac OS 使用远程桌面登录服务器

    以下操作以 Microsoft Remote Desktop for Mac 为例。微软官方已于2017年停止提供 Remote Desktop 客户端的下载链接,转由其子公司 HockeyApp 进行 Beta 版本的发布。您可前往 Microsoft Remote Desktop Beta 下载 Beta 版本 Microsoft Remote Desktop Beta 在 “PC name” 处输入实例公网 IP。 单击其余选项保持默

    2024年02月07日
    浏览(12)
  • Mac OS下WireGuard客户端的安装与配置使用

    Mac OS下WireGuard客户端的安装与配置使用

    官网安装/下载地址:https://www.wireguard.com/install/ 参考原创:Mac OS下WireGuard客户端的安装与配置 最简单:直接用一个美国区的账号,通过appstore下载 在wg0.conf文件中写入如下内容,需要注意的是,需要自己修改文件内容,保持可用。 除了客户端需要修改之后,还要将服务器网卡

    2024年02月10日
    浏览(13)
  • Mac OS Swift UI 中使用WKWebView,以及实现代理

    Mac OS Swift UI 中使用WKWebView,以及实现代理

    首先进行项目配置,支持入网 ​​​​​​​​ 首先为了能在Swift UI中使用WebView,应该对其进行包装 观察网页在什么时候需要前进或者后退,这个时候要用ObservableObject来进行包装 现在,可以将它放到contentView中调试

    2024年02月14日
    浏览(12)
  • 使用anaconda如何安装opencv、os、PIL、skimage等

    使用anaconda如何安装opencv、os、PIL、skimage等

    1.安装opencv: python -m pip install opencv-python 调用时为import cv2 2.要from PIL import Image 安装:conda install pillow 3.标准库:https://www.jb51.net/article/57834.htm 出现错误: ERROR: Could not install packages due to an OSError: [WinError 5] 拒绝访问。: ‘d:sfanaconda3envspytorchlibsite-packages~5pydefs.cp36-win_amd64.p

    2024年02月06日
    浏览(13)
  • Homebrew:Mac os 使用brew工具时报错No remote ‘origin‘

    Homebrew:Mac os 使用brew工具时报错No remote ‘origin‘

    执行 根据提示输入: 发现还是报错,继续使用 brew doctor 无操作提示,根据前面的提示,解决 输入: 运行 图片分享

    2024年02月11日
    浏览(10)
  • 记录在苹果mac os系统上使用51单片机仿真软件Proteus

    记录在苹果mac os系统上使用51单片机仿真软件Proteus

    1.安装Wineskin shell 指令 2.安装Wrapper 点击update ​​​​​​​ 首先我们需要安装一个程序: 可以将在Windows系统上才能运行exe文件打包为mac系统可执行的文件。 下载后,可以在启动台或者下载目录看到 Wineskin Winery 的图标,点击启动该软件。  No Wrapper Installed   暂时无法解决

    2024年02月06日
    浏览(17)
  • C#使用EmguCV播放视频

    C#使用EmguCV播放视频

    目录 一、前言 1、简介  2、测试工程代码下载链接 3、EmguCV 库文件下载链接 二、工程环境配置 1、EmguCV控件添加引用 (1)窗口控件添加  (2)相关Dll文件添加添加引用 (3)工程运行基础文件夹添加  (4)调试运行 2、界面设计 (1)整体布局  (2)设置Image相关属性  3、

    2024年02月14日
    浏览(8)
  • C# &OpenCV 从零开发(0):前言

    C# &OpenCV 从零开发(0):前言

    由于我想换个机器视觉+运动控制的工作,我就开始了自学机器视觉方向的技术。但是Halcon毕竟是商业化的库,国内用盗版还是怕被告。所以期望使用OpenCV。 OpenCV目前已知的方法的有两个版本 Python:用起来挺简单的,就是Python的语言不适合管理,感觉以后必定会出现问题,不适

    2024年01月18日
    浏览(41)
  • Mac OS下 使用 osascript 指令,执行完可执行程序后,关闭当前已结束的终端(Terminal)窗口)

    Mac OS下 使用 osascript 指令,执行完可执行程序后,关闭当前已结束的终端(Terminal)窗口)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 最近在工作中需要使用shell 脚本的可执行程序,在shell里调用完成一些其他功能。Mac os下 执行的时候是调用终端(Terminal)。执行完成后会有一个已结束终端进程界面,一直在桌面显示,每次都需要手动

    2024年02月11日
    浏览(13)
  • 《数字图像处理-OpenCV/Python》连载(1)前言

    《数字图像处理-OpenCV/Python》连载(1)前言

    本书京东优惠购书链接:https://item.jd.com/14098452.html 写作背景 编写本书的初衷,源自作者学习数字图像处理的经历。 在创新实验班开设的专业创新教育课程中,我选择的是数字图像处理方向。老师向我推荐的教材是冈萨雷斯的《数字图像处理》。学习的开始阶段非常困难。教

    2024年02月11日
    浏览(79)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包