public void ComputeTest()
{
byte[,] gradient = new byte[255, 255];
for (int i = 0; i < 255; i++)
for (int j = 0; j < 255; j++)
gradient[i, j] = (byte)j;
UnmanagedImage output;
new MatrixToImage().Convert(gradient, out output);
LocalBinaryPattern lbp = new LocalBinaryPattern();
List<double[]> result = lbp.ProcessImage(output);
int[,] actualPatterns = lbp.Patterns;
Assert.AreEqual(255, actualPatterns.GetLength(0));
Assert.AreEqual(255, actualPatterns.GetLength(1));
for (int i = 0; i < 255; i++)
{
for (int j = 0; j < 255; j++)
{
if (j == 0 || i == 0 || i == 254 || j == 254)
{
Assert.AreEqual(0, actualPatterns[i, j]);
}
else
{
Assert.AreEqual(7, actualPatterns[i, j]);
}
}
}
Assert.AreEqual(196, result.Count);
}