У меня проблема с получением пикселей из изображения. Я загружаю изображение, выбираю пиксель из изображения и извлекаю его цвет, а затем генерирую матрицу indexMatrix [bitmap_height] [bitmap_width], которая содержит 1 или 0 в зависимости от того, совпадает ли цвет [x, y] растрового изображения с цвет выбран. Проблема в том, что программа не выделяет все пиксели, хотя должна. Он извлекает только часть из них (я уверен, что «забытые» пиксели имеют тот же цвет, что и выбранный цвет)
Самое странное, что если я запускаю свою программу для нового изображения (созданного из матрицы), оно возвращает то же самое изображение (как и должно быть), но я не могу понять, как решить проблему.
Пожалуйста, помогите !!!
С уважением,
Алекс Бадеску
и немного кода из моего проекта:
объявление растрового изображения:
m_Bitmap = (Bitmap)Bitmap.FromFile(openFileDialog.FileName, false);
Здесь я вычисляю матрицу:
int bitmapWidth = m_Bitmap.Width;
int bitmapHeight = m_Bitmap.Height;
indexMatrix = new int[bitmapHeight][];
if (imageIsLoaded && colorIsSelected)
{
for (int i = 0; i < bitmapHeight; i++)
{
indexMatrix[i] = new int[bitmapWidth];
for (int j = 0; j < bitmapWidth; j++)
{
Color temp = m_Bitmap.GetPixel(j, i);
if (temp == selectedColor)
indexMatrix[i][j] = 1;
else indexMatrix[i][j] = 0;
}
}
MessageBox.Show("matrix generated succesfully");
}
matrixIsCalculated = true;
}