首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >干货|OpenCVC#低代码开发指南

干货|OpenCVC#低代码开发指南

作者头像
OpenCV学堂
发布2026-04-02 21:22:40
发布2026-04-02 21:22:40
1170
举报
OpenCV C# 环境搭建

VS2022 + OpenCVCSharp4.10配置安装与测试

OpenCV官方的开发包至今还不支持C#语言SDK,但是C#有个著名的开源OpenCV Wapper库支持- opencvsharp,github地址如下:

代码语言:javascript
复制
https://github.com/shimat/opencvsharp

用 opencvsharp 就可以跟Python、C++一样轻松在C#语言中使用OpenCV SDK完成各种图像处理与深度学习模型推理部署。

图片
图片

从VS2022中直接安装,截图如下:

图片
图片
图片
图片

代码测试

安装好OpenCVCSharp开发包支持以后,直接创建一个C#语言的控制台空项目,然后创建一个cs文件,把下面的代码直接贴进去

代码语言:javascript
复制
using OpenCvSharp;
class Program 
{
static void Main() 
	{
using var src = new Mat("D:/lena.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();
		}
	}
}
图片
图片

OpenCV实验大师工作流SDK v1.4.1 下载地址:

代码语言:javascript
复制
https://gitee.com/opencv_ai/opencv_workflow

OpenCV实验大师工具软件1.4.1 安装指南点击这里

OpenCV工作流引擎SDK

OpenCV低代码开发工作流引擎SDK,支持C++、C#、Python,实现80%的OpenCV开发工作零代码,OpenCV开发效率提升十倍。OpenCV低代码开发工作流引擎支持找点、找边、找线段、找圆、找轮廓、支持图像预处理、图像增强、形态学习处理、边缘模板匹配、卡尺测量,最新版本赖于OpenCV4.10。同时C++版本已经支持YOLO11全系模型推理,三行代码实现模型部署。主要应用场景是机器视觉领域,安防监控、生物与医学图像处理领域。

图片
图片

配置与测试

首先从VS2022工具中安装好OpenCVSharp4.10依赖nuget包。然后新建一个C#控制台空项目,验证运行成功以后直接把以下三个文件copy到bin目录下

图片
图片

OEMTSWorkflowHelper.cs与Program.cs 文件复制过去,直接运行,显示如下:

图片
图片
图片
图片

低代码开发使用

打开OpenCV实验大师工具软件

图片
图片

点击工作流设计,导入测试图像,设计如下得工作流

图片
图片

命名为find_boxes.vm然后保存工作流文件。点击菜单栏 【代码】-》【导出代码】

图片
图片

直接点击【Export】然后就会在指定目录(目录可以通过【选项】->【用户设置】查看或者修改)下得到生成的C#代码文件。

代码语言:javascript
复制
using OpenCvSharp;
using qiantong_oemst;
class OpenCVWorkFlowDemo
{
    static void Main(string[] args)
    {
        IntPtr myInstance = OEMTSWorkflowHelper.workflowClassInit2();
        bool succ = OEMTSWorkflowHelper.loadVMConfigFile(myInstance,
                "find_defect.vm".ToCharArray(),
                "ba8e9ea82fb37f1722ad2d9f4962e7e4".ToCharArray());
        // please check and replace your image file path 
        Mat src = Cv2.ImRead("4156.bmp");
        Mat dst = new Mat(src.Size(), src.Type());
        int w = src.Cols;
        int h = src.Rows;
        OEMTSWorkflowHelper.runWorkflow(myInstance, src.CvPtr, dst.CvPtr, w, h);
        Cv2.ImShow("OpenCV学堂-OpenCV工作流C
#演示
", dst);
        Cv2.WaitKey(0);
        Cv2.DestroyAllWindows();
        src.Dispose();
        dst.Dispose();
        OEMTSWorkflowHelper.deleWorkflowInstance(myInstance);
    }
}

直接修改对应的vm文件为保存的find_boxes.vm,修改测试图像文件名称

代码语言:javascript
复制
"find_defect.vm".ToCharArray(),

修改为:

代码语言:javascript
复制
"D:/find_boxes.vm".ToCharArray(),

测试图像

代码语言:javascript
复制
Mat src = Cv2.ImRead("4156.bmp");

修改为:

代码语言:javascript
复制
Mat src = Cv2.ImRead("D:/images/vm_test/contour_edge.png");

然后直接运行:

图片
图片

全程零代码实现OpenCV C# 开发实现二值图像轮廓分析。从此我又相信OpenCV可以跟C#一起开发了。

上位机与机器视觉开发者必备技能

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-10-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenCV学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档