日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

【OpenCV】在 Mac OS 上使用 EmguCV

發布時間:2024/1/5 windows 38 coder
生活随笔 收集整理的這篇文章主要介紹了 【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

? 如下圖所示,在終端中輸入以下指令后,會自動創建新的項目以及項目文件夾。

? 在創建好項目后,我們進行一下項目測試,依次輸入以下指令,最后輸出如下圖所示:

cd test_emgucv
dotnet run

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.dll、runtimes/osx/native/libcvextern.dylib。打開項目運行生成的文件夾bin/{build_config}/{dotnet_version}/,在本項目中是bin/Debug/net6.0/文件夾,如下圖所示:

? 通過該圖可以看出,在本項目中只有Emgu.CV.dll文件,并沒有runtimes/osx/native/libcvextern.dylib文件,因該文件需要我們自行配置。首先是需要找到該文件,該文件主要是在Emgu.CV.runtime.mini.macos程序包中,如下圖所示:

? 接下來就是創建runtimes/osx/native/文件夾,然后將該文件放在該文件夾下即可。如下圖所示:

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();//銷毀所有窗口
        }
    }
}

? 項目代碼運行后,最后呈現效果如下圖所示:

4. 總結

? 在本次項目中,我們成功實現了在Mac OS上使用EmguCV,并成功配置了EmguCV依賴庫,實現了在.NET 6.0環境下使用C#語言調用EmguCV庫,實現的圖片數據的讀取以及圖像色彩轉換,并進行了圖像展示。

總結

以上是生活随笔為你收集整理的【OpenCV】在 Mac OS 上使用 EmguCV的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。