Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.93/43: Рейтинг темы: голосов - 43, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 15
1

Преобразовать BMP в оттенки серого

14.06.2013, 17:08. Показов 8728. Ответов 6
Метки нет (Все метки)

Подскажите пожалуйста, мне нужно преобразовать цветной BMP (фактически это скриншот) файл в оттенки серого. В 256 оттенков серого или сколько их там есть, только не черно-белое. Подскажите, как это сделать? Что-то такого метода у BMP не нашел, а какой для этого должен быть алгоритм я не знаю.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2013, 17:08
Ответы с готовыми решениями:

Изображение в оттенки серого
Здравствуйте! Помогите, пожалуйста. Дело в том, что мне необходимо перевести изображение в оттенки...

Выбрать оттенки серого из текста
Выбрать оттенки серого из текста в разных цветовых системах. Пример: #FFF, #808080 HTML – const...

Выбрать оттенки серого из текста
Выбрать оттенки серого из текста в разных цветовых системах. Как это вообще делается, помогите...

Canon_MP160: отсутствуют оттенки серого.
Принтер сапоп МР 160. При распечатке контрольного листа в левой графе (оттенки серого) напротив...

6
189 / 189 / 38
Регистрация: 11.04.2009
Сообщений: 497
14.06.2013, 17:15 2
Взгляни на эту статью.
1
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 15
14.06.2013, 17:22  [ТС] 3
Блин она не открывается

Добавлено через 1 минуту
И вот найду я значение серого, а как его записать? Какая это будет цветовая модель? Как ее правильно вывести в PictureBox?
0
104 / 104 / 19
Регистрация: 23.05.2013
Сообщений: 185
14.06.2013, 18:01 4
Вот держите програмку, делал както ради интереса. Скорость конвертирования не очень высокая, есть способ более быстрый.grayscale.rar
2
40 / 37 / 15
Регистрация: 25.10.2012
Сообщений: 112
14.06.2013, 18:08 5
Double_Medved, согласно стандарту BT.709 интенсивность пиксела может быть вычислена следующим образом: Y = 0.2125·R + 0.7154·G + 0.0721·B. Соответственно, если для каждого пиксела значение каждой из его компонент заменить на вычисленную интенсивность, получится изображение в оттенках серого в цветовой модели RGB.

Добавлено через 4 минуты
Double_Medved, и не забывайте про то, что все значения, большие 255, должны становиться равными 255.
Это можно увидеть в коде FrostByte.

Для ускорения работы имеет смысл делать маршалирование и работать непосредственно с массивом байтов, а не с объектом. Подробнее можно почитать на MSDN.
1
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 15
14.06.2013, 18:47  [ТС] 6
Можете еще подсказать? У меня просто 2 изображения похожих, одно - принтскрин, второе - кадр с камеры, направленной на монитор. Мне нужно найти область где самые большие различия. Вот думал в серый перевести. Есть идеи как найти эту область? ну там например зеленая точка лазера на кадре с камеры а на принтскрине ее нет. Правда изображения разного разрешения и есть погрешность - попиксельно вот сравнивать не получается
0
40 / 37 / 15
Регистрация: 25.10.2012
Сообщений: 112
14.06.2013, 19:40 7
Double_Medved, навскидку:
1) привести изображения к одинаковому размеру (уменьшить большее, наверное) с нормальной интерполяцией;
2) выбрать подходящую метрику;
3) использовать скользящее окно удобного размера.

Но это, что называется, "в лоб".
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2013, 19:40

Помощь в написании контрольных, курсовых и дипломных работ здесь.

PictureBox, Graphics и оттенки серого
Здравствуйте, форумчане! Проблема в следующем. Если создаю рисунок: Image img = new Bitmap(sizeX,...

Найти все оттенки серого и вывести их полужирным
Скажем,найти все оттенки серого в RGB Не понимаю, как к этому подступиться,лишь наброски var s =...

Градиент или как получить оттенки серого цвета
Привет всем! Возник вопрос (нигде не могу найти ответ) Как использовать градиент цвета в Си? Мне...

Преобразовать рисунок с градациями серого в бинарный
Яркости пикселей рисунка закодированы числами от 0 до 255 в виде матрицы. Преобразовать рисунок в...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.