2014-02-03 4 views
-2

Я новичок в программировании. Я студент в единстве. Можно ли использовать визуальную студию для преобразования изображений RGB в оттенки серого с помощью C#?Преобразование изображений RGB в оттенки серого

Существует специальная папка, которая включает в себя изображения RGB jpeg, и каждый день она также имеет новые файлы jpg. Мне нужно сделать exe-файл для преобразования их в оттенки серого.

Должен ли я установить для этой работы новые библиотеки или стандартные библиотеки VS2013?

+2

http://stackoverflow.com/a/2265990/440030 –

+2

возможно дубликат [C#, конвертировать изображения в оттенках серого] (http://stackoverflow.com/ вопросы/2265910/c-convert-image-to-grayscale) – Shiva

+0

Зачем изобретать колесо. Используйте ImageMagick: 'convert image.jpg -grayscale rec709luma image_grayscale.jpg' –

ответ

1

Стандартных библиотек достаточно.

Я когда-то использовал этот код:

public static Bitmap GrauwertBild(Bitmap input) 
{ 
    Bitmap greyscale = new Bitmap(input.Width, input.Height); 
    for (int x = 0; x < input.Width; x++) 
    { 
    for (int y = 0; y < input.Height; y++) 
    { 
    Color pixelColor = input.GetPixel(x, y); 
    // 0.3 · r + 0.59 · g + 0.11 · b 
    int grey = (int)(pixelColor.R * 0.3 + pixelColor.G * 0.59 + pixelColor.B * 0.11); 
    greyscale.SetPixel(x, y, Color.FromArgb(pixelColor.A, grey , grey , grey)); 
    } 
    } 
    return greyscale; 
} 
+0

- этот код конвертировать все jpg-изображения с одинаковым именем в оттенки серого? и как я могу импортировать свою папку в этот код? – user3218867

+0

Он преобразует одно изображение, которое было прочитано стандартными методами структуры в растровое изображение. Используйте Bitmap.Save (или как именно этот метод вызывается), чтобы сохранить изображение обратно по указанному пути. – citronas

 Смежные вопросы

  • Нет связанных вопросов^_^