当前位置: 首页 > news >正文

【传统视觉】C#创建、封装、调用类库

任务

因为实现代码相对简单,然后又没有使用Opencv,所以就直接用C#实现,C#调用。

1.创建类库

1.1新建一个类库

vs2015 => 文件 => 新建 => 项目
在这里插入图片描述

using System;
using System.Collections.Generic;
using System.Linq;namespace YourLibraryName
{public class OutlierRemoval:IOutlierRemoval{public List<int> RemoveOutliers(List<double> y, out List<double> outliers){// 将代码移动到此处// ...return outlierIndices;}public List<List<double>> RemoveOutliersAndGetYMaxResults(List<double> y, out List<double> y_max_results){// 将代码移动到此处// ...return outliers_results;}}
}
1.2添加一个接口

为了方便后续可维护,我还添加了接口,而不是直接调用类中的方法;在上述类库中 => 添加 => 接口

using System.Collections.Generic;namespace YourLibraryName
{public interface IOutlierRemoval{List<int> RemoveOutliers(List<double> y, out List<double> outliers);List<List<double>> RemoveOutliersAndGetYMaxResults(List<double> y, out List<double> y_max_results);}
}

2.创建一个demo

告诉软开怎么用这个函数
首先点击解决方案,然后点击添加 => 新建项目 => 控制台应用程序

2.1引用

打开引用 点击“项目”添加引用
在这里插入图片描述

2.2 编写demo

第一步:using 命名空间

第二步:创建接口实例

IOutlierRemoval outlierRemoval = new OutlierRemoval();

第三步:调用接口

// 调用接口方法
List<double> y = new List<double> { 1.2, 3.4, 5.6, 100.0, 7.8, 9.0 };  // 示例输入数据// 调用函数 RemoveOutliers
List<double> outliers;
List<int> outlierIndices = outlierRemoval.RemoveOutliers(y, out outliers);// 调用函数 RemoveOutliersAndGetYMaxResults
List<double> y_max_results;
List<List<double>> outliers_results = outlierRemoval.RemoveOutliersAndGetYMaxResults(y, out y_max_results);

问题

在这里插入图片描述

相关文章:

【传统视觉】C#创建、封装、调用类库

任务 因为实现代码相对简单&#xff0c;然后又没有使用Opencv&#xff0c;所以就直接用C#实现&#xff0c;C#调用。 1.创建类库 1.1新建一个类库 vs2015 > 文件 > 新建 > 项目 using System; using System.Collections.Generic; using System.Linq;namespace Yo…...

AutoMapper反向映射

#region 用来验证反向映射public class MemberSource{public string Name { get; set; }public MemberInnerSource MemberInnerSource { get; set; }public MemberOtherInnerSource MemberOtherInnerSource { get; set; }}public class MemberInnerSource{public string Name {…...

华为Mate30报名鸿蒙 HarmonyOS 4.0.0.108 系统更新

华为 Mate 30 系列于 2019 年 11 月 1 日上市&#xff0c;包括 Mate 30 4G / 5G、Mate 30 Pro 4G / 5G、保时捷设计版 Mate30 共五款机型。华为 Mate 30 系列 5G 版搭载麒麟 990 5G 处理器&#xff0c;同时支持 SA 及 NSA 5G 双模&#xff0c;适配三大运营商的 5G / 4G / 3G / …...

elementui Cascader 级联选择使用心得

相信大家对于elementui并不陌生&#xff0c;作为适配Vue的优秀UI框架之一&#xff0c;一直被所有的开发者痛并快乐着。今天要记录的就是里边的主角之一Cascader。 首先先介绍一下Cascader ---> 当一个数据集合有清晰的层级结构时&#xff0c;可通过级联选择器逐级查看并选择…...

【ChatGPT 指令大全】怎么利用ChatGPT写报告

目录 选定切入角度 报告开头 大纲生成 草稿撰写 研究报告 提出反对观点 报告总结 研究来源 总结 随着人工智能技术的快速发展&#xff0c;自然语言处理技术在各个领域的应用越来越广泛。其中&#xff0c;ChatGPT作为目前最先进的自然语言处理模型之一&#xff0c;其强…...

【枚举,构造】CF1582 C D

Problem - C - Codeforces 题意&#xff1a; 思路&#xff1a; 思路很简单&#xff0c;只删除一种&#xff0c;直接枚举删除的是哪一种即可 但是回文子序列的判定我vp的时候写的很答辩&#xff0c;也不知道为什么当时要从中间往两边扫&#xff0c;纯纯自找麻烦 然后就越改越…...

POJ 3169 Layout BellmanFord Dijkstra

一、心路历程 这一个题目写了三天&#xff0c;可以说是非常挣扎了&#xff0c;明明是例题&#xff0c;但是就是倔强着不去看书上的题解&#xff0c;WA了7次&#xff0c;TLE了4次。 写了不知道多少条测试用例&#xff0c;一遍一遍的过&#xff0c;一点一点的调试。 最后终于找到…...

数据库管理员知识图谱

初入职场的程序猿&#xff0c;需要为自己做好职业规划&#xff0c;在职场的赛道上&#xff0c;需要保持学习&#xff0c;并不断点亮自己的技能树。  成为一名DBA需要掌握什么技能呢&#xff0c;先让Chat-GPT为我们回答一下&#xff1a; 数据库管理系统 (DBMS)知识&#xff…...

中兴服务器支持百度“文心一言”,助力AI产业发展

前段时间&#xff0c;中兴和百度正式对外宣布中兴服务器将会支持百度“文心一言”&#xff0c;为其提供更加强劲的算力支撑&#xff0c;从而加速“文心一言”的完事升级与更新迭代&#xff0c;助力AI产业化应用和生态的繁荣发展。   “文心一言”是百度基于文心大模型技术推出…...

STM 如何通过网络 time.windows.com获取时间

STM 如何通过网络 time.windows.com获取时间 在STM32中,你可以使用STM32Cube HAL库提供的网络套接字API来通过网络获取时间。以下是一个示例代码,演示如何通过time.windows.com获取时间: #include "stm32xxxx.h" #include "lwip/sockets.h" #include …...

数据结构——红黑树

文章目录 一.红黑树的定义二.红黑树的插入1.红黑树节点的定义2.红黑树的插入操作3.总结&#xff1a; 三.红黑树与AVL树的比较四.检验手写的红黑树五.源码 一.红黑树的定义 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示结点的颜色&#xff…...

【C++】数据结构与算法:常用排序算法

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍常用排序算法。 学其所用&#xff0c;用其所学。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下次更新不迷路&#x1…...

【C++】Bullet3代码存档

之前试了一下Bullet3物理引擎&#xff0c;但在linux上编译失败&#xff0c;于是放弃了。令我不满的还有另外一个原因&#xff0c;下载的发行包竟然有500M。C的Bullet3代码根本用不了&#xff0c;大部分教程实际都是用的老版本。而且此项目还整了python版本&#xff0c;各种蹭人…...

弘扬“两弹一星”精神,勇攀科学技术高峰——道本科技商业大学党日活动圆满落幕

2023年8月2日&#xff0c;道本科技与商业大学携手举办了一场主题为“弘扬‘两弹一星’精神&#xff0c;勇攀科学技术高峰”的党日活动。本次活动旨在了解党领导下的中国核工业发展历程&#xff0c;传承和弘扬“两弹一星”精神&#xff0c;同时展示道本科技创新产品&#xff0c;…...

Java中创建对象的几种方式

背景 面试的时候有些面试官喜欢问这些, 这里简单记录一下. 常见方式 方式1: new XXXX(); 使用new关键字&#xff1a;这是最常见的创建对象的方式&#xff0c;使用new关键字后面跟上类名和参数列表&#xff08;如果有&#xff09;&#xff0c;可以调用类的构造方法来创建对象…...

Python(三)

诚信像一面镜子&#xff0c;一旦打破&#xff0c;你的人格就会出现裂痕。 存在短路的情景 谢谢观看 Python(三)...

android 如何分析应用的内存(十五)——Visual Studio Code 调试Android应用

android 如何分析应用的内存&#xff08;十五&#xff09;——Visual Studio Code 调试Android 应用 在上一篇文章介绍了jdb调试java应用 接下来介绍用UI界面调试java应用&#xff0c;达到同jdb一样的效果。 同样的UI界面有很多选择&#xff0c;如Eclipse&#xff0c;Android …...

宁波银行最新内推码 MK4913

宁波银行最新内推码 MK4913 内推码&#xff1a; MK4913 内推二维码 &#xff1a; 网申路径&#xff1a; 网页端&#xff1a;登录宁波银行招聘官网&#xff1a; https://zhaopin.nbcb.com.cn 选择【校园招聘】-【招聘岗位】手机端&#xff1a;关注【宁波银行招聘】公众号&a…...

postgresql|数据库|MySQL数据库向postgresql数据库迁移的工具pgloader的部署和初步使用

前言&#xff1a; MySQL数据库和postgresql数据库之间的差异并不多&#xff0c;这里的差异指的是对SQL语言的支持两者并不大&#xff0c;但底层的东西差异是非常多的&#xff0c;例如&#xff0c;MySQL的innodb引擎概念&#xff0c;数据库用户管理&#xff0c;这些和postgresq…...

【Python从小白到高手】---函数基础

个人主页&#xff1a;平行线也会相交 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 平行线也会相交 原创 收录于专栏【Python小白从入门到精通】&#x1f388; 本专栏旨在分享学习Python的一点学习心得&#xff0c;欢迎大家在评论区讨论&#x1f48c; 目录…...

颠覆式突破:多模态模型的3大技术跃迁与跨模态理解革命

颠覆式突破&#xff1a;多模态模型的3大技术跃迁与跨模态理解革命 【免费下载链接】Emu3 Next-Token Prediction is All You Need 项目地址: https://gitcode.com/gh_mirrors/em/Emu3 多模态模型作为人工智能领域的前沿方向&#xff0c;正在深刻改变机器理解世界的方式。…...

Alpine Linux在WSL中的生产力配置:zsh美化+Rust环境搭建

Alpine Linux在WSL中的生产力配置&#xff1a;zsh美化Rust环境搭建 在Windows Subsystem for Linux (WSL)生态中&#xff0c;Alpine Linux以其轻量级和安全性逐渐成为开发者的新宠。本文将带你打造一个兼具美观与高效的Alpine开发环境&#xff0c;特别适合追求极简主义又不愿牺…...

来自硅谷的顶级外卖-Claude Code 源码泄露事件讨论

Claude Code 源码泄露事件全解析摘要&#xff1a;2026年3月&#xff0c;Anthropic 旗下 AI 编程工具 Claude Code 的完整源码被人通过匿名渠道公开。这次泄露撕开了这款"明星产品"的外衣——5层模块架构、20安全验证器、自研 Ink 渲染引擎、四层记忆系统。代码里没有…...

3个方法突破访问限制:Bypass Paywalls Clean让优质内容触手可及

3个方法突破访问限制&#xff1a;Bypass Paywalls Clean让优质内容触手可及 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 当一位医学研究员在凌晨三点急需查阅最新临床研究&#xf…...

Fish-Speech 1.5效果展示:双自回归Transformer架构,语音质量惊艳

Fish-Speech 1.5效果展示&#xff1a;双自回归Transformer架构&#xff0c;语音质量惊艳 你听过那种一听就知道是机器人的AI语音吗&#xff1f;生硬、刻板&#xff0c;每个字都像从模板里抠出来的&#xff0c;毫无生气。再听听这个&#xff1a;“今天天气真好&#xff0c;适合…...

基于python的演唱会抢票系统

目录同行可拿货,招校园代理 ,本人源头供货商核心功能模块技术实现要点扩展功能设计异常处理方案项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作同行可拿货,招校园代理 ,本人源头供货商 核心功能模块 用户管理模块 注册/登录功…...

LLM推理流式响应延迟骤降73%:FastAPI 2.0 + asyncpg + Redis Stream 实战调优,附可复用中间件代码库

第一章&#xff1a;LLM推理流式响应延迟骤降73%&#xff1a;FastAPI 2.0 asyncpg Redis Stream 实战调优&#xff0c;附可复用中间件代码库在高并发LLM服务场景中&#xff0c;传统同步I/O与阻塞式数据库访问常导致首字节延迟&#xff08;TTFB&#xff09;飙升。我们通过重构请…...

自动驾驶RL微调实战:如何用MotionLM提升模型可靠性(附Waymo数据集配置)

自动驾驶RL微调实战&#xff1a;如何用MotionLM提升模型可靠性&#xff08;附Waymo数据集配置&#xff09; 在自动驾驶技术快速迭代的今天&#xff0c;强化学习&#xff08;RL&#xff09;微调已成为提升模型可靠性的关键手段。不同于传统模仿学习&#xff08;IL&#xff09;的…...

Wan2.2-I2V-A14B图像转视频实战:基于卷积神经网络的风格迁移与动态生成

Wan2.2-I2V-A14B图像转视频实战&#xff1a;基于卷积神经网络的风格迁移与动态生成 1. 引言&#xff1a;当静态艺术遇见动态魔法 想象一下&#xff0c;你手中有一幅精美的水墨画或一张概念设计草图&#xff0c;如果能让它"活过来"&#xff0c;变成一段流动的视频&a…...

从零开始:roLabelImg安装与OBB旋转框标注实战指南

1. 为什么需要roLabelImg和旋转框标注 在计算机视觉项目中&#xff0c;我们经常需要标注图像中的目标物体。对于常规的矩形框标注&#xff0c;LabelImg这类工具已经足够好用。但遇到倾斜物体时&#xff0c;比如遥感图像中的飞机、自然场景中的交通标志、医学图像中的器官&#…...