Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2012, 21:27   #1
virtuhay266
Пользователь
 
Регистрация: 28.05.2009
Сообщений: 57
По умолчанию Цветной BMP в черно-белый

Всем привет! Я выделяю из изображения один цветовой канал и нужно сохранить его в черно-белом виде в BMP файле. Первой мыслью было скопировать содержимое нужного канала в остальные два, но кто-то мне сказал, что яркости каналов складываться и изображение будет неправильное. В заголовке я не нашел как формируется черно-белое изображение. Подскажите как правильно сделать задание.

Последний раз редактировалось virtuhay266; 01.04.2012 в 22:10.
virtuhay266 вне форума Ответить с цитированием
Старый 01.04.2012, 21:53   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,837
По умолчанию

Нужно именно 1 канал? Если нужны градации серого, то это среднее 3-х каналов.
Arigato вне форума Ответить с цитированием
Старый 01.04.2012, 21:57   #3
virtuhay266
Пользователь
 
Регистрация: 28.05.2009
Сообщений: 57
По умолчанию

Да, один. Я правильно понял, что мне надо разделить значение нужного цвета на три и записать результат во все каналы?
virtuhay266 вне форума Ответить с цитированием
Старый 01.04.2012, 22:05   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,837
По умолчанию

Делить ничего не надо, записывайте значение этого цвета в оставшиеся 2 канала. Но, как вы сами заметили, в получившийся картинки яркость может не сохраниться, т.к. она от всех 3-х каналов зависит.
Arigato вне форума Ответить с цитированием
Старый 01.04.2012, 23:07   #5
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Как-то попадалось - сохранил на всякий случай:
Цитата:
Эта пример конвертирует цветную картинку в черно-белую с коэффицентами принятыми в телевидении.
На форме необходимо разместить кнопку и 2 PictureBox с именами pic1 и pic2 одинакового размера. Свойство ScaleMode у обоих надо выставить в 3-Pixel. В pic1 загрузите любое изображение и нажмите на кнопку.

Код:
Private Sub Command1_Click()
Dim b1 As Byte, b2 As Byte, b3 As Byte
Dim lColor&, x&, y&, Gray!

pic2.Cls
For x = 0 To pic1.ScaleWidth
For y = 0 To pic1.ScaleHeight
lColor = pic1.Point(x, y)
b1 = lColor And &HFF 'Красный
b2 = (lColor \ 256) And &HFF 'Зеленый
b3 = (lColor \ 65536) And &HFF 'Синий
Gray = b1 * 0.3 + b2 * 0.59 + b3 * 0.11
lColor = RGB(Gray, Gray, Gray)
pic2.PSet (x, y), lColor
Next y
DoEvents
Next x
End Sub
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
microsoft Word цветные картинки в черно-белые duhamuk Microsoft Office Word 4 29.04.2011 17:57
Загрузка BMP в Simple Graph и сохранение в BMP формат artemavd Общие вопросы Delphi 10 02.10.2010 14:19
Раскрашивание черно-белых изображений!!! ALEX_RAS Помощь студентам 1 16.05.2008 21:57