任务
因为实现代码相对简单,然后又没有使用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);