【零代码】OpenCV C# 快速开发框架演示

上位机OpenCV算法 低代码开发系统化学习

OpenCV开发新范式

OpenCV开发已经进入流程可视化与自动代码生成时代,基于OpenCV实验大师工具软件与OpenCV工作流SDK可以实现快速开发OpenCV算法应用,效率比传统方式提升十倍,同时工作流支持提示词模式的AI代码生成,实现了提示词即代码的AI编程模式OpenCV快速开发,彻底提升了OpenCV开发的生产力与效率,同时工作流内置的边缘模板匹配、卡尺测量等功能SDK一键调用即可实现OpenCV完成边缘模板匹配、卡尺测量。

上位机OpenCV算法 低代码开发系统化学习

集成开发使用指南

OpenCV快速开发工具集官方项目地址

下载地址:

bash 复制代码
https://gitee.com/opencv_ai/opencv_workflow

OpenCV实验大师工具软件下载地址

bash 复制代码
https://gitee.com/opencv_ai/opencv_workflow/blob/master/oemts_win10_p311_installer.zip

OpenCV工作流SDK下载地址

bash 复制代码
https://gitee.com/opencv_ai/opencv_workflow/blob/master/oemts_workflow_engine_lib.zip

安装与配置

安装OpenCV实验大师工具软件,首先需要安装Python SDK3.11。安装好以后直接把下载好的【OpenCV实验大师工具软件】解压缩到下面的目录:

然后打开requiremennts.txt文件,copy第四行

在当前路径下打开控制台窗口,请确认一下,然后粘贴执行

安装完成,直接输入startup.bat,点击回车运行

启动界面如下:

点击 菜单栏【帮助】-》【项目案例】选择 双击打开第5个或者第14个项目案例。第五个轮廓分析案例打开演示如下:

第14个案例打开-》点击右上角【运行】显示如下:

保存工作流文件

点击工具栏中第二个图标【保存图标】,在弹出的保存文件对话框中选择适合的保存路径(注意,千万别有中文路径跟空格)

点击【保存按钮】即可保存工作流文件。

OpenCV工作流SDK调用

SDK下载地址如下,分别支持Python、C#、C++三种语言调用

bash 复制代码
https://gitee.com/opencv_ai/opencv_workflow


C++ SDK调用 - 依赖OpenCV4.10

请先配置好OpenCV4.10 + VS2022 C++开发环境,参考视频教程:

bash 复制代码
https://www.bilibili.com/video/BV12srpYJE7M/?

下载对应的C++ SDK,在VS2022中先配置好包含目录、库目录、链接器配置,然后把相关DLL文件拷贝到OpenCV4.10的x64bin目录中。调用代码如下:

cpp 复制代码
#include "main_workflow.h"
#include <iostream>
#include <fstream>

int main(int argc, char** argv) {

	std::shared_ptr<QTongCoreCVWorkFlow> engine(new QTongCoreCVWorkFlow());
	bool succ = engine->initWorkFlow("match_template_demo.vm", //替换工作流文件
									"ba8e9ea82fb37f1722ad2d9f4962e7e4");
	if(!succ) {
		std::cout<<"Could not load workflow file here..."<<std::endl;
		return -1;
	}
	// 替换你的测试图像
	cv::Mat frame = cv::imread("4156.bmp");

	cv::namedWindow("OpenCV实验大师 C++工作流引擎演示", cv::WINDOW_NORMAL);
	cv::Mat result;
	std::vector<std::string> logs;
	engine->run_workflow(frame, result, logs);

	cv::imshow("OpenCV实验大师 C++工作流引擎演示", result);
	cv::waitKey(0);
	cv::destroyAllWindows();
	return 0;
}

运行结果如下:

C# SDK代码演示

C# 预先依赖安装好OpenCVCSharpe4.10 开发包,然后把相关DLL拷贝到执行的bin目录下**(是个上位机开发者都知道我在说什么!)**

运行代码如下:

csharp 复制代码
using OpenCvSharp;
using qiantong_oemst;

class OpenCVWorkFlowDemo
{
    static void Main(string[] args)
    {

        // 1. create intances
        IntPtr myInstance = OEMTSWorkflowHelper.workflowClassInit2();

        // 2. load workflow vm file
        bool succ = OEMTSWorkflowHelper.loadVMConfigFile(myInstance,
            "D:/match_template_demo.vm".ToCharArray(),
            "ba8e9ea82fb37f1722ad2d9f4962e7e4".ToCharArray());

        // 3. run workflow with input image
        Mat src = Cv2.ImRead("D:/images/222.jpg");
        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();

        // 5. destory instance and others
        src.Dispose();
        dst.Dispose();
        OEMTSWorkflowHelper.deleWorkflowInstance(myInstance);
    }
}

总结:

只需要调用几行OpenCV工作流SDK接口代码,就可以实现在C#上位机中完成各种OpenCV算法的集成调用,非常容易上手。通过调用几行相同的OpenCV工作流SDK接口代码即可实现C#上位机跟OpenCV算法的集成。更多参考资料猛戳这里 《OpenCV4 C# 系统化开发》

相关推荐
大江东去浪淘尽千古风流人物5 小时前
【VLN】VLN(Vision-and-Language Navigation视觉语言导航)算法本质,范式难点及解决方向(1)
人工智能·python·算法
云飞云共享云桌面5 小时前
高性能图形工作站的资源如何共享给10个SolidWorks研发设计用
linux·运维·服务器·前端·网络·数据库·人工智能
IT实战课堂小元酱5 小时前
大数据深度学习|计算机毕设项目|计算机毕设答辩|flask露天矿爆破效果分析系统开发及应用
人工智能·python·flask
MSTcheng.5 小时前
CANN ops-math:AI 硬件端高效数学运算的算子设计与工程化落地方法
人工智能·深度学习·cann
Dev7z6 小时前
基于深度学习的肺部听诊音疾病智能诊断方法研究
人工智能·深度学习
一灰灰blog6 小时前
Spring AI中的多轮对话艺术:让大模型主动提问获取明确需求
数据库·人工智能·spring
行者无疆_ty6 小时前
什么是Node.js,跟OpenCode/OpenClaw有什么关系?
人工智能·node.js·openclaw
AC赳赳老秦6 小时前
2026国产算力新周期:DeepSeek实战适配英伟达H200,引领大模型训练效率跃升
大数据·前端·人工智能·算法·tidb·memcache·deepseek
工程师老罗6 小时前
基于Pytorch的YOLOv1 的网络结构代码
人工智能·pytorch·yolo
xfddlm6 小时前
边缘计算_ubuntu环境下使用瑞芯微RK3576NPU推理LLM
人工智能·ubuntu·边缘计算