【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 使用远程桌面登录服务器

    以下操作以 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日
    浏览(35)
  • Mac OS下WireGuard客户端的安装与配置使用

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

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

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

    2024年02月14日
    浏览(42)
  • 使用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日
    浏览(40)
  • Homebrew:Mac os 使用brew工具时报错No remote ‘origin‘

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

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

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

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

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

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

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

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

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

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

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

    2024年02月11日
    浏览(65)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包