OpenCvSharp编译

ops/2025/2/26 6:16:10/

前言

        算法部分我们使用opencv4.10作为开发,那么我们在.net winform做UI界面开发时,需要进行相关调用。比较简单的方式是直接从NuGet中直接搜索OpencvSharp进行安装。OpecvSharp对Opencv进行了二次封装,在.net中可以快速操作相关对象和算子,且数据结构统一。

        此处为了保证C++和C#使用的opencv库版本保持一致(避免由于部分不同引起的内存异常或调用异常),我重新对OpencvSharp进行编译,主要步骤如下:

1、下载OpencvSharp源代码

下载路径:https://github.com/shimat/opencvsharp

2、编译OpenCvSharpExtern

        该库重新对opencv内的函数进行了二次封装,供C#进行DllImport的方式调用,我们需要先对齐进行编译生成C++的动态库。

        ps:此处用到的 lib/include/dll 在上一篇文章编译opencv中可以生产,注意需要一并编译 opencv_contrib(可在opencv源码仓库处一并下载,编译时设置编译完成即可)。详细文章跳转至:OpenCv编译

1) 打开项目属性->VC++目录,查看其包含目录以及库目录设置路径(此处可修改成自己路径,也可以直接拷贝文件过来,我这里是直接把文件拷贝过来编译)

2)拷贝头文件/lib/dll至对应目录下

3)修改链接器(原本是有一堆的lib进行链接,由于我们前面是编译成一整个库,所以直接改成了 opencv_world****.lib进行链接)

4)编译生产OpenCvSharpExtern

3、编译C#调用库

编译 OpenCvSharp/OpenCvSharp.Extensions ,其它库我用不到所以没有编译

总结

以上步骤操作完我们就可以完成OpenCvSharp的编译动作,使其跟我们使用的C++库保持一致,整体上流程还是比较简单,建议大家都去编译一下。


http://www.ppmy.cn/ops/161362.html

相关文章

如何保存爬虫获取商品评论的数据?

保存爬取的评论数据是爬虫项目中的一个重要环节。根据需求,你可以选择将数据保存为本地文件(如CSV、JSON、TXT),或者存储到数据库(如MySQL、MongoDB等)。以下是几种常见的数据保存方式及其示例代码。 1. 保…

反制无人机详细全面介绍

一、反制系统的核心架构 侦测识别层 采用雷达、光电/红外传感器、无线电频谱监测等技术实现全空域覆盖。毫米波雷达可探测微型无人机,声学探测适用于低噪声环境4,而被动射频定位技术可追踪2-8公里范围内的目标。多传感器融合技术(如雷达光电A…

MySql:Authentication plugin ‘caching sha2 password‘ cannot be loaded

报错问题解释 在 MySQL 数据库中,如果你尝试使用 caching_sha2_password 插件进行认证,但是遇到错误信息 "Authentication plugin caching sha2 password cannot be loaded",这通常意味着客户端库或者连接器不兼容或者没有正确配置…

Android NFC功能开发指南

在 Android 平台上开发 NFC&#xff08;近场通信&#xff09;功能&#xff0c;主要涉及以下几个步骤&#xff1a; 1. 权限声明 首先&#xff0c;在 AndroidManifest.xml 文件中声明 NFC 权限&#xff1a; <uses-permission android:name"android.permission.NFC&quo…

企业业务安全进阶之路:AI技术与数据分析的应用

在数字化时代&#xff0c;企业业务安全面临着前所未有的挑战。从网络安全到数据保护&#xff0c;每一个环节都至关重要。本文将探讨如何通过AI技术和数据分析来提升企业业务安全防护能力&#xff0c;确保企业在不断变化的安全威胁面前保持领先地位。 企业业务安全的重要性 企…

企业为什么要选择软件测试外包公司?湖南软件测试公司有哪些?

在当今快速发展的技术背景下&#xff0c;软件测试已成为软件开发生命周期的重要一环。随着企业对软件质量要求的不断提高&#xff0c;软件测试外包公司逐渐被越来越多的企业所青睐。 软件测试外包公司通过将软件测试从内部团队外包出去&#xff0c;帮助企业减少开发成本、提升…

ROS的action通信——实现阶乘运算(一)

在ROS中除了常见的话题(topic&#xff09;通信、服务(server)通信等方式&#xff0c;还有action通信这一方式&#xff0c;由于可以实时反馈任务完成情况&#xff0c;该通信方式被广泛运用于机器人导航等任务中。本文将通过三个小节的分享&#xff0c;实现基于action通信的阶乘运…

Tomcat安装与环境变量配置(图文详解)

一、前置条件 tomcat依赖java环境&#xff0c;需要先安装java环境。 二、Tomcat的下载与安装 1.进入Tomcat官网&#xff1a; https://tomcat.apache.org/ 2.在该网页左侧栏红框标记的download下&#xff0c;选择自己要下载的Tomcat的版本&#xff0c;点进去&#xff1b;也…