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

文章目录

  • 前言
  • 可行性研究
  • Nuget安装+第一个OpenCV程序
  • 学习方法
  • 总结

前言

由于我想换个机器视觉+运动控制的工作,我就开始了自学机器视觉方向的技术。但是Halcon毕竟是商业化的库,国内用盗版还是怕被告。所以期望使用OpenCV。

OpenCV目前已知的方法的有两个版本

  • Python:用起来挺简单的,就是Python的语言不适合管理,感觉以后必定会出现问题,不适合写复杂的项目
  • C++:太过于朴素,写起来很麻烦,而且容易内存泄漏,很多都要自己手写,语法体验不好

C++&OpenCV学习笔记(0):从开始到放弃

Python+OpenCV 零基础学习笔记(1-3):anaconda+vscode+jupyter环境配置

Python+OpenCV 零基础学习笔记(4-5):计算机图形基础+Python相对文件路径+OpenCV图像+OpenCV视频

Python+OpenCV 零基础学习笔记(6):ROI

在经过多次尝试之后,我决定,使用C# 开发OpenCV!

可行性研究

学一个东西前,先问能不能实现。我看网上说是可以的,

这个世界上有没有编程语言既有Python的开发效率,又有C/C++/Rust的性能?

C# &OpenCV 从零开发(0):前言_第1张图片

我加的群里也有人实现了C# 版本的YoloV7 图像识别

Nuget安装+第一个OpenCV程序

环境:

  • visual Studio 2022
  • .net core 8.0

安装Nuget

C# &OpenCV 从零开发(0):前言_第2张图片

OpenCVSharp github 仓库地址

照着官方示例抄一波

C# &OpenCV 从零开发(0):前言_第3张图片

static void Main(string[] args)
{
    using var src = new Mat(@"Resources\cat.png", ImreadModes.Grayscale);
    using var dst = new Mat();

    Cv2.Canny(src, dst, 50, 200);
    using (new Window("src image", src))
    using (new Window("dst image", dst))
    {
        Cv2.WaitKey();
    }
    Console.WriteLine("Hello, World!");
}

Resource里面放个图片文件

C# &OpenCV 从零开发(0):前言_第4张图片
C# &OpenCV 从零开发(0):前言_第5张图片

学习方法

既然可以跑通,那就先试试吧。

然后就是一个问题,我们该抄Python版本的OpenCV还是C++版本的OpenCV?

【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程(附带课程课件资料+课件笔记)图像处

C# &OpenCV 从零开发(0):前言_第6张图片

OpenCV4 C++ 快速入门视频30讲 - 系列合集

C# &OpenCV 从零开发(0):前言_第7张图片

当然官方也有对应的实战案例:

opencvsharp_samples Github官方示例

Welcome to the OpenCvSharp Wiki!

我已经感觉前面全部都是坑了

C# &OpenCV 从零开发(0):前言_第8张图片

顺便请教了一下群里的大佬

C# &OpenCV 从零开发(0):前言_第9张图片

总结

最后总结一下,C++版本和Python版本估计都是要学的,毕竟两个老大哥,至少也得了解一下,也不用学那么深,但是毕竟Python和C++ 平时基本没用过,又要学新的语言了。

C# &OpenCV 从零开发(0):前言_第10张图片

你可能感兴趣的:(C#&OpenCV,c#,opencv,开发语言)