public void ProcessImageTest()
{
double[,] diag = Matrix.Magic(5);
Bitmap input;
new MatrixToImage().Convert(diag, out input);
// Create a new Gabor filter
KirschEdgeDetector filter = new KirschEdgeDetector();
// Apply the filter
Bitmap output = filter.Apply(input);
double[,] actual;
new ImageToMatrix().Convert(output, out actual);
// string str = actual.ToString(Accord.Math.Formats.CSharpMatrixFormatProvider.InvariantCulture);
double[,] expected =
{
{ 1, 1, 1, 1, 1 },
{ 1, 0.458823529411765, 0.349019607843137, 0.698039215686274, 1 },
{ 1, 0.309803921568627, 0.658823529411765, 0.286274509803922, 1 },
{ 1, 0.619607843137255, 0.403921568627451, 0.890196078431373, 1 },
{ 1, 1, 1, 1, 0.968627450980392 }
};
Assert.IsTrue(expected.IsEqual(actual, 1e-6));
}
}