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

前言

由于我想换个机器视觉+运动控制的工作,我就开始了自学机器视觉方向的技术。但是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# 版本的YoloV7 图像识别
在这里插入图片描述

Nuget安装+第一个OpenCV程序

环境:

  • visual Studio 2022
  • .net core 8.0

安装Nuget

在这里插入图片描述

OpenCVSharp github 仓库地址

照着官方示例抄一波

在这里插入图片描述

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里面放个图片文件

在这里插入图片描述
在这里插入图片描述

学习方法

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

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

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

在这里插入图片描述

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

在这里插入图片描述

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

opencvsharp_samples Github官方示例

Welcome to the OpenCvSharp Wiki!

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

在这里插入图片描述

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

在这里插入图片描述

总结

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

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44695769/article/details/135550843