0 / 0 / 0
Регистрация: 21.12.2015
Сообщений: 13

Изменение цвета изображения, из RGB в серые тона

10.09.2017, 04:50. Показов 5528. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть вопрос: как из этого кода, сделать адекватное изменение цвета изображения на черно белое(градации серого)Помогите,плиз
C++
1
2
3
4
5
6
7
8
9
Bitmap^ bitmap1 = gcnew Bitmap (pictureBox1->Image);
for (int x=0; x<bitmap1->Width; x++) {
 for (int y=0; y<bitmap1->Height; y++) {
  Color pixelColor = bitmap1->GetPixel (x,y);
  Color newColor = Color::FromArgb(pixelColor.R,pixelColor.G,pixelColor.B);
  bitmap1->SetPixel (x,y,newColor);
 }
}
pictureBox1->Image = bitmap1;
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.09.2017, 04:50
Ответы с готовыми решениями:

Чтение заголовка bmp и перевод изображения в серые тона
Доброго времени суток! Продлема состоит следующем: 1. Есть изоброжение в формате bmp, нужно вывести в Memo название каждого поля...

Изменение тона изображения
Доброго времени суток. Есть такая проблема: дано: компонент TImage; нужно изменить тон изображения. Я закинул на форму три...

Коррекция цвета rgb изображения
Подскажите пожалуйста как в matlab можно сделать коррекцию цвета цветного изображения без перевода в ч/б. Или подскажите где можно...

5
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
10.09.2017, 09:19
если не ошибаюсь то эта функция имеет 4 параметра alpha, red, green, blue,
C++
1
Color::FromArgb(255, 0, 255, 0);
Добавлено через 3 минуты
а
C++
1
SetPixel (x,y,newColor);
задает цвет, прочитайте просто

https://msdn.microsoft.com/ru-... .110).aspx
0
Каждому свое
 Аватар для Bretbas
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
10.09.2017, 09:30
Лучший ответ Сообщение было отмечено olgacccccc как решение

Решение

olgacccccc, попробуй вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
Bitmap^ bitmap1 = gcnew Bitmap (pictureBox1->Image);
for (int x=0; x<bitmap1->Width; x++) {
for (int y=0; y<bitmap1->Height; y++) {
Color pixelColor = bitmap1->GetPixel (x,y);
float value = pixelColor.R + pixelColor.G + pixelColor.B;
value /= 3;
Color newColor = Color::FromArgb(value, value, value);
bitmap1->SetPixel (x,y,newColor);
}
}
pictureBox1->Image = bitmap1;
Добавлено через 2 минуты
Antikl,
Цитата Сообщение от Antikl Посмотреть сообщение
если не ошибаюсь то эта функция имеет 4 параметра alpha, red, green, blue,
C++
1
Color::FromArgb(255, 0, 255, 0);
Этот метод вообще то перегружен и для трех параметров
1
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,312
10.09.2017, 11:10
Обычно в YUV переводят и используют яркостную компоненту. Формула:
Y = 0.299 x R + 0.587 x G + B x 0.114
Потом создаете цвет с этой компонентой по всем трем каналам.
0
0 / 0 / 0
Регистрация: 21.12.2015
Сообщений: 13
10.09.2017, 12:35  [ТС]
Спасибо большое, работает) Я вам безмерно благодарна)
0
Каждому свое
 Аватар для Bretbas
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
10.09.2017, 14:50
woldemas,
Цитата Сообщение от woldemas Посмотреть сообщение
Обычно в YUV переводят и используют яркостную компоненту. Формула:
Y = 0.299 x R + 0.587 x G + B x 0.114
Потом создаете цвет с этой компонентой по всем трем каналам.
Да, есть и такое. Называется это Относительная яркость, иногда называют Luma. Это не много другое, хотя можно пойти и этим путем и получить grayscale через него. Я же предложил простой вариант.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.09.2017, 14:50
Помогаю со студенческими работами здесь

Изменение яркости RGB цвета
Здравствуйте. Для одной программы (xEdit) пишу срипт (для синхронизации ambient освещения погоды (более 500шт и в каждой 4 состояния) в...

Изменение цвета контрола в RGB
Всех приветствую! Мужики, подскажите - как изменить свойство контролов таким образом, чтобы в режиме дизайна, в свойство BackColor можно...

Цвета RGB постепенное изменение
Есть кусок кода, в нём ошибка, где понять не могу. Помогите пожалуйста, нужно чтобы к переменным red,green,blue прибавлялось 1 до 255, а...

Плавное изменение RGB цвета компонента
Как сделать так что бы цвет RGB компонента плавно менялся по таймеру. Я не знаю как в C# с RBG работать

Изменение цвета изображения
Подскажите почему это происходит? Вот здесь фон изображения должен быть белого цвета/ PS. если его же открыть через Paint, то все...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru