Now the sector recognition is effective even with the colored text
This commit is contained in:
+37
-1
@@ -61,7 +61,10 @@ namespace Test_Merge
|
||||
case WindowType.Sector:
|
||||
outputBitmap.Save(Window.SECTOR1_DEBUG_FOLDER + @"\raw_" + id + ".png");
|
||||
|
||||
outputBitmap = Tresholding(outputBitmap,165);
|
||||
outputBitmap = VanishOxyAction(outputBitmap);
|
||||
outputBitmap.Save(Window.SECTOR1_DEBUG_FOLDER + @"\vanish_" + id + ".png");
|
||||
|
||||
outputBitmap = Tresholding(outputBitmap,150);
|
||||
outputBitmap.Save(Window.SECTOR1_DEBUG_FOLDER + @"\Final_treshold_" + id + ".png");
|
||||
break;
|
||||
case WindowType.LapTime:
|
||||
@@ -135,6 +138,39 @@ namespace Test_Merge
|
||||
|
||||
return inputBitmap;
|
||||
}
|
||||
public static Bitmap VanishOxyAction(Bitmap inputBitmap)
|
||||
{
|
||||
Rectangle rect = new Rectangle(0, 0, inputBitmap.Width, inputBitmap.Height);
|
||||
BitmapData bmpData = inputBitmap.LockBits(rect, ImageLockMode.ReadWrite, inputBitmap.PixelFormat);
|
||||
int bytesPerPixel = Bitmap.GetPixelFormatSize(inputBitmap.PixelFormat) / 8;
|
||||
|
||||
unsafe
|
||||
{
|
||||
byte* ptr = (byte*)bmpData.Scan0.ToPointer();
|
||||
for (int y = 0; y < inputBitmap.Height; y++)
|
||||
{
|
||||
byte* currentLine = ptr + (y * bmpData.Stride);
|
||||
for (int x = 0; x < inputBitmap.Width; x++)
|
||||
{
|
||||
byte* pixel = currentLine + (x * bytesPerPixel);
|
||||
|
||||
int blue = (int)pixel[0];
|
||||
int green = (int)pixel[1];
|
||||
int red = (int)pixel[2];
|
||||
|
||||
int max = Math.Max(Math.Max(blue, green), red);
|
||||
|
||||
if (max > 255 / 3)
|
||||
max = 255;
|
||||
|
||||
pixel[0] = pixel[1] = pixel[2] = (byte)max;
|
||||
}
|
||||
}
|
||||
}
|
||||
inputBitmap.UnlockBits(bmpData);
|
||||
|
||||
return inputBitmap;
|
||||
}
|
||||
/// <summary>
|
||||
/// Method that binaries the input image up to a certain treshold given
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user