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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

【OpenCV】在MacOS上使用OpenCvSharp

發(fā)布時(shí)間:2024/1/8 windows 27 coder
生活随笔 收集整理的這篇文章主要介紹了 【OpenCV】在MacOS上使用OpenCvSharp 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前言 ? OpenCV是一個(gè)基于Apache2.0許可(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)軟件庫(kù),它具有C++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS。OpenCvSharp是一個(gè)OpenCV的 .Net wrapper,應(yīng)用最新的OpenCV庫(kù)開(kāi)發(fā),使用習(xí)慣比EmguCV更接近原始的OpenCV,該庫(kù)采用LGPL發(fā)行,對(duì)商業(yè)應(yīng)用友好。

1. 項(xiàng)目環(huán)境

  • 編碼環(huán)境:Visual Studio Code
  • 程序框架:.NET 6.0

? 目前在Mac OS上使用C#語(yǔ)言官方提供了編譯Visual Studio for Mac,但是根據(jù)官方發(fā)布的通知后續(xù)將不再支持該軟件更新,后續(xù)將全部轉(zhuǎn)移到Visual Studio Code平臺(tái),所以在此處我們演示使用Visual Studio Code進(jìn)行演示。而代碼的運(yùn)行與配置使用dotnet指令實(shí)現(xiàn)。

? 關(guān)于Visual Studio Code以及.NET的安裝方式可以參考一下官方教程:
在 macOS 上安裝 .NET、Visual Studio Code on macOS。

2. 創(chuàng)建控制臺(tái)項(xiàng)目

? 此處使用dotnet指令創(chuàng)建新項(xiàng)目,在Visual Studio Code的終端中輸入一下指令:

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

? 如下圖所示,在終端中輸入以下指令后,會(huì)自動(dòng)創(chuàng)建新的項(xiàng)目以及項(xiàng)目文件夾。

? 在創(chuàng)建好項(xiàng)目后,我們進(jìn)行一下項(xiàng)目測(cè)試,依次輸入以下指令,最后會(huì)得到輸出:"Hello, World!":

test_opencvsharp
dotnet run

3. 添加 Nuget Package 程序包

? OpenCvSharp4是一個(gè)可以跨平臺(tái)使用的程序包,并且官方也提供了編譯好的程序包,用戶可以根據(jù)自己的平臺(tái)進(jìn)行安裝。在Mac OS上,主要需要安裝一下兩個(gè)包,分別是OpenCvSharp4的官方程序包以及OpenCvSharp4的運(yùn)行依賴包。

dotnet add package OpenCvSharp4
dotnet add package OpenCvSharp4.runtime.osx_arm64 --prerelease

? 安裝完上面兩個(gè)安裝包后,項(xiàng)目的配置的文件中會(huì)增加下面兩個(gè)配置。

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

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

  <ItemGroup>
    <PackageReference Include="OpenCvSharp4" Version="4.8.0.20230708" />
    <PackageReference Include="OpenCvSharp4.runtime.osx_arm64" Version="4.8.1-rc" />
  </ItemGroup>

</Project>

emsp; 接下來(lái)運(yùn)行dotnet run,檢驗(yàn)項(xiàng)目中是否包含所需要的配置文件:OpenCvSharp.dllruntimes/osx-arm64/native/。打開(kāi)項(xiàng)目運(yùn)行生成的文件夾bin/{build_config}/{dotnet_version}/,在本項(xiàng)目中是bin/Debug/net6.0/文件夾,如下圖所示:

可以看出,在程序運(yùn)行后,安裝的程序包中所有項(xiàng)目都已經(jīng)加載到當(dāng)前項(xiàng)目中,如果出現(xiàn)缺失,就需要找到程序包位置,將該文件復(fù)制到指定路徑。

3. 測(cè)試應(yīng)用

? 最后我們編寫(xiě)項(xiàng)目代碼進(jìn)行測(cè)試,如下面代碼所示:

using System;
using OpenCvSharp;
namespace test_opencvsharp 
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Mat image = Cv2.ImRead("image.jpg");
            Mat image2=new Mat();
            if (image!=null)
            {
                Console.WriteLine("srcImg is OK!");
            }
            Console.WriteLine("圖像的寬度是:{0}",image.Rows);
            Console.WriteLine("圖像的高度是:{0}", image.Cols);
            Console.WriteLine("圖像的通道數(shù)是:{0}", image.Channels());
            Cv2.ImShow("src", image);
            Cv2.CvtColor(image, image2, ColorConversionCodes.RGB2GRAY);//轉(zhuǎn)為灰度圖像
            Cv2.ImShow("src1", image2);
            Cv2.WaitKey(0);
            Cv2.DestroyAllWindows();//銷毀所有窗口
        }
    }
}

? 項(xiàng)目代碼運(yùn)行后,最后呈現(xiàn)效果如下圖所示:

4. 總結(jié)

? 在本次項(xiàng)目中,我們成功實(shí)現(xiàn)了在Mac OS上使用OpenCvSharp,并成功配置了OpenCvSharp依賴庫(kù),實(shí)現(xiàn)了在.NET 6.0環(huán)境下使用C#語(yǔ)言調(diào)用OpenCvSharp庫(kù),實(shí)現(xiàn)的圖片數(shù)據(jù)的讀取以及圖像色彩轉(zhuǎn)換,并進(jìn)行了圖像展示。

總結(jié)

以上是生活随笔為你收集整理的【OpenCV】在MacOS上使用OpenCvSharp的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。