Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/37: Рейтинг темы: голосов - 37, средняя оценка - 4.54
mf
0 / 0 / 0
Регистрация: 03.10.2014
Сообщений: 2

Программа деления изображения по каналам RGB

04.04.2012, 20:27. Показов 7564. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста написать программу деления изображения по каналам RGB
которая позволяет:
1) Загрузка и отображение BMP-файла. Достаточно сделать поддержку только формата RGB-24 для BMP-файлов.
2) Преобразование изображения и сохранение в BMP-файл (достаточно поддержки RGB-формата).
3) Разделить произвольное изображение по каналам RGB. Сохранить каналы на экран в виде 3-х изображений.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.04.2012, 20:27
Ответы с готовыми решениями:

Как задать яркость пикселя по всем каналам RGB
Имеется картинка в pictureBox мне нужно сделать ее просветление путем прибавления(вычитания) некоторой константы к яркости каждого пикселя...

Разделение изображения по каналам RGB
Нужна помощь, надо разделить изображение по каналам RGB, чтобы получить в итоге три отдельных изображения. Потом нужно разделить из на...

Сложение изображений по RGB каналам
Здравствуйте! Имеется три бинарных изображения, которые были предварительно разложены по RGB каналам на красное, зеленое и синие. Далее эти...

2
54 / 42 / 7
Регистрация: 08.04.2011
Сообщений: 227
04.04.2012, 22:35
Лучший ответ Сообщение было отмечено как решение

Решение

Загрузка - создается bitmap, с конструктором, принимающий string path.
Разделение - удаление канала через итератор.
Т.е.:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
private void Make()
{
   var img = new Bitmap("C://img.bmp"); // для относительного пути - @"img.bmp"
   var onlyRed = new Bitmap(img.Width, img.Height);
   var onlyGreen = new Bitmap(img.Width, img.Height);
   var onlyBlue = new Bitmap(img.Width, img.Height);
   for (int x=0; x<img.Width; x++)
      {
      for (int y=0; y<img.Height; y++)
      {
         var color = img.GetPixel(x, y);
         var red = color;
         var green = color;
         var blue = color;
         
         red.G = 0;
         red.B = 0;
         green.R = 0;
         green.B = 0;
         blue.R = 0;
         blue.G = 0;
 
         onlyRed.SetPixel(x, y, noRed);
         onyGreen.SetPixel(x, y, noGreen);
         onlyBlue.SetPixel(x, y, noBlue);
      }
   }
   onlyRed.Save(@"red.bmp");
   onlyGreen.Save(@"green.bmp");
   onlyBlue.Save(@"blue.bmp");
}
P.S. возможно быдлокод, просто вечер, не хочется лезть на MSDN. Код прям сразу работать, скорее всего, не будет, писал прям тут. Если не получится - завтра постараюсь переписать.
1
mf
0 / 0 / 0
Регистрация: 03.10.2014
Сообщений: 2
05.04.2012, 15:35
Спасибо! На выходных дамой поеду проверю код. Но если сам в ближайшие дни проверишь работает код или нет, то по возможности исправь, буду благодарен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.04.2012, 15:35
Помогаю со студенческими работами здесь

RGB компоненты изображения
помогите правильно написать условие изменения пикселей изображения. У меня задача, что при щелчке кнопкой мыши на изображение, задаются RGB...

Восстановление изображения по RGB
Здравствуйте, у меня есть картинка загруженная в массив структуры: struct r_g_b {float r, float g, float b} - color_display, и отображена в...

Получения температуры из RGB изображения
Здравствуйте, столкнулся с такой проблемой! Имею RGB изображение детали, которая разогрета до температуры 1000 градусов! И мне...

Преобразование изображения из RGB в CMYK
При переводе изображения из RGB в CMYK не получается записать рассчитанные для CMYK значения в bitmap с помощью SetPixel (т.е. создать...

Гистограмма изображения по компонентам RGB
Здравствуйте! Пытаюсь построить гистограмму по трём цветовым компонентам из исходного изображения. И не пойму самой сути. Я верно понимаю,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru