У меня есть изображение:
размером 1000x1000 белого цвета со случайными черными точками. (Он может содержать черный квадрат (размер 50x50))
Есть ли простой способ узнать, содержит ли изображение черный квадрат (размер 50x50)? Я подумал о сканировании каждого пикселя изображения, и если будет обнаружен черный пиксель, отсканируйте соседний, пока я не получу квадрат 50x50 или пока не получу белый пиксель, и продолжу сканирование. но ему придется сканировать более миллиона пикселей (если он не нашел квадрат).
Это в основном код (не нужно его заполнять, как я сказал ранее, сканирование займет слишком много времени это миллион раз, если все изображение белое, и намного больше в зависимости от количества черных пикселей.)
for (int i = 0; i < pic.Width; i++)
{
for (int j = 0; j < pic.Height; j++)
{
if (pic.GetPixel(i, j) == Color.Black)
{
//Search for the entire square at that area
}
}
}
И да, время важно (вот почему я не хочу получать пиксель больше миллиона раз). Есть идеи?