【发布时间】:2015-09-22 15:35:34
【问题描述】:
关于 SO 有一些类似的问题,但我似乎找不到我正在寻找的东西。
有一个 C# 库 (OpenCVSharp) 声明了这样的重载方法:
public static void CalcHist(Mat[] images,
int[] channels, InputArray mask,
OutputArray hist, int dims, int[] histSize,
Rangef[] ranges, bool uniform = true, bool accumulate = false)
{
....
}
public static void CalcHist(Mat[] images,
int[] channels, InputArray mask,
OutputArray hist, int dims, int[] histSize,
float[][] ranges, bool uniform = true, bool accumulate = false)
{
....
}
即仅因“范围”参数的类型而异。
我似乎无法调用这个方法,即使使用元组参数样式,包括可选参数和添加一大堆类型注释:
let images = [|new Mat()|]
let hist = OutputArray.Create(new Mat());
let hdims = [|256|];
let ranges = [| new Rangef(0.f,256.f) |];
Cv2.CalcHist<Mat [] * int [] * InputArray * OutputArray * int * int [] * Rangef [] * bool * bool>
(images,
[|0|],
null,
hist,
1,
hdims,
ranges,
true,
false)
错误是“错误 4 无法从此代码位置访问采用 9 个参数的成员或对象构造函数 'CalcHist'。方法 'CalcHist' 的所有可访问版本采用 9 个参数”
有什么方法可以从 F# 调用这个方法吗?
【问题讨论】: