InvalidOperationException(生成的值不在0和1之间。)Accord.net
我目前正在尝试使用Accord.NET框架中的KMeans算法 这是我的密码:InvalidOperationException(生成的值不在0和1之间。)Accord.net,accord.net,Accord.net,我目前正在尝试使用Accord.NET框架中的KMeans算法 这是我的密码: private Bitmap runKMeans(Bitmap image) { // Retrieve the number of clusters int k = 5; // Create converters ImageToArray imageToArray = new ImageToArray(min: -1, max: +1);
private Bitmap runKMeans(Bitmap image)
{
// Retrieve the number of clusters
int k = 5;
// Create converters
ImageToArray imageToArray = new ImageToArray(min: -1, max: +1);
ArrayToImage arrayToImage = new ArrayToImage(image.Width, image.Height, min: -1, max: +1);
// Transform the image into an array of pixel values
double[][] pixels;
imageToArray.Convert(image, out pixels);
// Create a K-Means algorithm using given k and a
// square Euclidean distance as distance metric.
KMeans kmeans = new KMeans(k, Distance.SquareEuclidean);
// Compute the K-Means algorithm until the difference in
// cluster centroids between two iterations is below 0.05
int[] idx = kmeans.Compute(pixels, 0.05);
// Replace every pixel with its corresponding centroid
pixels.ApplyInPlace((x, i) => kmeans.Clusters.Centroids[idx[i]]);
//Create a Bitmap and return it
Bitmap result; arrayToImage.Convert(pixels, out result);
return result;
}
当我运行程序时,在这一行引发了一个异常:
int[] idx = kmeans.Compute(pixels, 0.05);
类型:“System.InvalidOperationException”生成的值不在0和1之间
经过一些研究,我发现KMeans算法的随机数生成器引发了这个异常。有人知道如何解决这个问题吗?嗨,Sascha,我是来自Accord.NET框架的Cesar。请允许我问一下,您是否可以在项目问题跟踪程序中打开错误报告,并提供导致问题的示例图像?谢谢