Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.94/34: Рейтинг темы: голосов - 34, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 24.11.2020
Сообщений: 25

Разработайте и реализуйте собственный алгоритм, переводящий изображение в градациях серого цвета в цвет

23.12.2020, 12:24. Показов 7501. Ответов 34

Студворк — интернет-сервис помощи студентам
как я понял нужно сделать из серого изображения цветное, либо при нажатии кнопки цветное изображение делать серым, а при нажатии другой кнопки, обратно цветным.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.12.2020, 12:24
Ответы с готовыми решениями:

Инвертировать изображение в градациях серого цвета в негатив
Создайте функцию, инвертирующую изображение в градациях серого цвета в негатив.

Создайте функцию, инвертирующую изображение в градациях серого цвета в негатив
Создайте функцию, инвертирующую изображение в градациях серого цвета в негатив. Как это сделать в WinForms?

Вывод массива в градациях серого
Доброго времени суток! Подскажите, пожалуйста, как мне отобразить массив 500х500 заполненный числами от 0 до 256 в градациях серого?! ...

34
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
24.12.2020, 10:36
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от I2um1 Посмотреть сообщение
Какая разница между brightness и luminance для grayscale?
grayscale - это откуда?

Если по коду ниже, то как я понял там вычисляется среднее между тремя цветами.
А Color.GetBrightness возвращает средне между двумя цветами. Цвет с промежуточной яркостью не учитывается.
0
Эксперт .NET
 Аватар для Usaga
14368 / 9469 / 1360
Регистрация: 21.01.2016
Сообщений: 35,733
24.12.2020, 10:38
Цитата Сообщение от yacky Посмотреть сообщение
как я понял нужно сделать из серого изображения цветное
Это каким-таким образом? Информация о цвете утеряна. Откуда вы её брать собрались?
0
0 / 0 / 0
Регистрация: 24.11.2020
Сообщений: 25
24.12.2020, 10:41  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Это каким-таким образом? Информация о цвете утеряна. Откуда вы её брать собрались?
я понял, что это нереально, а можно узнать, какое изображение открывал человек через OpenFileDialog и просто наложить его поверх?
0
Эксперт .NET
 Аватар для Usaga
14368 / 9469 / 1360
Регистрация: 21.01.2016
Сообщений: 35,733
24.12.2020, 10:43
yacky, а сами как думаете? Диалог выбора файлов, через который нельзя узнать, что было выбрано?
0
0 / 0 / 0
Регистрация: 24.11.2020
Сообщений: 25
24.12.2020, 10:44  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
а сами как думаете? Диалог выбора файлов, через который нельзя узнать, что было выбрано?
вот такие нынче преподователи, задали задание, а как его делать, думай сам...
0
Эксперт .NET
 Аватар для Usaga
14368 / 9469 / 1360
Регистрация: 21.01.2016
Сообщений: 35,733
24.12.2020, 10:46
Цитата Сообщение от yacky Посмотреть сообщение
думай сам...
А вы как собрались разработчиком работать, если думать не хотите\не можете? Задания ВУЗовские на то и дают, чтобы вы привыкли думать, искать информацию и алгоритмы составлять.
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
24.12.2020, 12:25
Цитата Сообщение от Элд Хасп Посмотреть сообщение
grayscale - это откуда?
Та это просто название этого типа изображения на английском языке. Терминов там еще больше как в серый переводить.

Цитата Сообщение от Элд Хасп Посмотреть сообщение
А Color.GetBrightness возвращает средне между двумя цветами.
Почему тогда GetBrightness и среднее дают одинаковый результат в 20 посте? В любом случае, ТС меня все равно игнорирует, значит ему это неинтересно.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
24.12.2020, 12:35
Цитата Сообщение от I2um1 Посмотреть сообщение
Почему тогда GetBrightness и среднее дают одинаковый результат в 20 посте?
Значит их значения для картинки или совпадают, или очень близки.
Зависит же от исходных цветов.

Для (255, 0, 0) - GetBrightness=127,5 - grayscale=85.
Разница 24,5 единицы.
Но это максимально возможная разница между ними на всём диапазоне Color.
Она будет только при полной яркости только одного из цветов.
В реальных изображениях разница гораздо меньше.
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
24.12.2020, 14:22
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Значит их значения для картинки или совпадают, или очень близки.
Смысл того примера показать, что brightness и среднее генерируют изображение, на котором невозможно отличить красный от зеленого и синего.

Цитата Сообщение от Элд Хасп Посмотреть сообщение
В реальных изображениях разница гораздо меньше.
Хозяин - барин:

Оригинал:


luminance:


brightness:


среднее:


Хуже всех получился brightness. Заметна разница между brightness и средним.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
24.12.2020, 14:32
Цитата Сообщение от I2um1 Посмотреть сообщение
brightness и среднее генерируют изображение, на котором невозможно отличить красный от зеленого и синего.
Да, это так.
При любом алгоритме преобразования цветного изображение в серое будет потеря информации.
И значит какие-то разные цвета будут отображаться одинаковым оттенком серого.
При одном алгоритме - одни, при другом - другие.

Я не сколько не пытался сказать, что Color.GetBrightness - лучше или хуже.
Он просто принятый и ожидаемый для Color, если нет иных дополнительных условий.

А так конечно можно придумать массу иных алгоритмов.
В любом фото редакторе будут десятки подобных фильтров на любой вкус.
1
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
24.12.2020, 14:37
Элд Хасп, ок, я понял причину.
0
 Аватар для ViterAlex
8953 / 4865 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
24.12.2020, 16:43
Нифига. Тема куда-то пропала. Про двузначное число, равное сумме квадрата единиц и куба десятков.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
24.12.2020, 17:39
Цитата Сообщение от ViterAlex Посмотреть сообщение
Нифига. Тема куда-то пропала. Про двузначное число, равное сумме квадрата единиц и куба десятков.
Вы о чём?
0
 Аватар для ViterAlex
8953 / 4865 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
24.12.2020, 18:09
Элд Хасп, про моё сообщение. Я точно знаю, что не ошибся. Автор потом ещё просил прокоммнтировать код, и я ответил
Цитата Сообщение от ViterAlex Посмотреть сообщение
В коде может быть не совсем понятна отрисовка. Метод вычисления числа прост как двери.
А теперь мои посты оказались в этой теме.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16158 / 11278 / 2891
Регистрация: 21.04.2018
Сообщений: 33,164
Записей в блоге: 2
24.12.2020, 19:01
Цитата Сообщение от ViterAlex Посмотреть сообщение
про моё сообщение.
Посмотрел по логам - в час ночи было объединение тем.
Больше никакой информации нет.
Исходная тема куда писали сохранилась?
Если да, то могу перекинуть туда сообщения.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.12.2020, 19:01

Точечный рисунок в градациях серого
На главной форме сформировать точечный рисунок в градациях серого, причём чем темнее точка, тем меньшее число соответствует ей в таблице, а...

Получение потокового видео в градациях серого. C++, OpenCv
Как получать потоковое изображение в градациях серого? Небольшая программа по захвату потокового видео имеется #include...

Jpeg 8bit (Сохранить jpg в градациях серого, глубиной 8 бит)
Всем привет! Помогите пожалуйста. Никак не могу добиться что бы картинка в jpg сохранилась в 8bit. $img = imagecreate ('300',...

Изображение ложного цвета (алгоритм)
Всем доброго времени суток! Подскажите, пожалуйста, каким образом (+/- в двух словах дать описание алгоритма, как это...

Реализуйте собственный класс строки
Задание: Строка Реализуйте собственный класс строки для использования в языке C++. Класс должен поддерживать наиболее часто...


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

Или воспользуйтесь поиском по форуму:
35
Ответ Создать тему
Новые блоги и статьи
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0) Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона Уважаемые коллеги! В продолжение. . .
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
Текстовый слайдер с нумерацией страниц и кроссбраузерность.
russiannick 18.07.2026
Один мой друг написал текстовый слайдер с нумерацией страниц. Сегодня я расскажу как он умудрился подружить его с кроссбраузерностью. Очевидно сложно угодить с шириной каждому браузеру. Один крадет. . .
Грибы - это мемы, дерево - это человек. Применение микоризной модели к теории меметики Докинза.
anaschu 18.07.2026
Меметический изоморфизм теории «всего»: Грибная сукцессия как модель эволюции идей Докинза Базовый код системы ОДУ микоризной сукцессии описывает не просто биологию, а универсальную. . .
Грибы - это корпорации, деревья - это государства. Механизм массонского захвата власти
anaschu 18.07.2026
Макроэкономический изоморфизм теории «всего»: Грибная сукцессия как модель транснационального капитализма Базовый код системы ОДУ микоризной сукцессии описывает не просто биологию, а. . .
Расчёт периметра прямоугольника по координатам вершин
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Вычислить периметр прямоугольника, заданного координатами своих вершин на плоскости. Решение: Создан документ со следующими. . .
Подсчёт частоты трёхбуквенных слов в тексте
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Выясните, сколько раз в предложенном тексте встречается каждое трехбуквенное слово. Решение: Создан документ с единственным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru