@AutoGG

Как сделать прореживание картинки JPEG кодом c#?

Ниже цикл, который меняет цветовую модель с RGB на YCbCr. И мне нужен еще цикл, который будет прореживать картинку, но в голову никак не приходит идея его реализации. Буду благодарен любой помощи, заранее спасибо.

Пример прореживания:
150953010617579181.gif

int x, y;
for (x = 0; x < bitmap.Width; x++)
{
  for (y = 0; y < bitmap.Height; y++)
  {
    Color pixelColor = bitmap.GetPixel(x, y);

     var Y = (byte)(0 + (0.299 * pixelColor.R) + (0.587 * pixelColor.G) + (0.114 * pixelColor.B));
     var Cb = (byte)(128 - (0.168736 * pixelColor.R) - (0.331264 * pixelColor.G) + (0.5 * pixelColor.B));
     var Cr = (byte)(128 + (0.5 * pixelColor.R) - (0.418688 * pixelColor.G) - (0.081312 * pixelColor.B));

     bitmap.SetPixel(x, y, Color.FromArgb(Y, Cb, Cr));
     }
}
  • Вопрос задан
  • 102 просмотра
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
Читаешь текущий пиксель, правее, ниже и правее и ниже. Вычисляешь средний цвет между ними. Записываешь получившийся цвет во все 4.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы