public unsafe Bitmap ToBitmap()
{
if (houghMap == null)
{
throw new ApplicationException("Hough transformation was not done yet.");
}
int length = houghMap.GetLength(1);
int length2 = houghMap.GetLength(0);
Bitmap bitmap = Image.CreateGrayscaleImage(length, length2);
BitmapData bitmapData = bitmap.LockBits(new Rectangle(0, 0, length, length2), ImageLockMode.ReadWrite, PixelFormat.Format8bppIndexed);
int num = bitmapData.Stride - length;
float num2 = 255f / (float)maxMapIntensity;
byte * ptr = (byte *)bitmapData.Scan0.ToPointer();
for (int i = 0; i < length2; i++)
{
int num3 = 0;
while (num3 < length)
{
*ptr = (byte)System.Math.Min(255, (int)(num2 * (float)houghMap[i, num3]));
num3++;
ptr++;
}
ptr += num;
}
bitmap.UnlockBits(bitmapData);
return(bitmap);
}