Yakut31
Гость
|
|
« : 27-05-2008 13:59 » |
|
Люди добрые помогите пожалуйста, отблагодарю как смогу... Очень нужно срочно написать на Visual C++ 6.0 написать программу которая из bmp картинок будет извлекать матрицу яркости пикселей... (потом эту матрицу можно изменять и сохранять в другой bmp файл... Но это уже второстепенная задача). Пожалуйста, кто сможет помогите...
|
|
« Последнее редактирование: 27-05-2008 17:10 от Sel »
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #1 : 27-05-2008 16:04 » |
|
разве в BMP есть матрица яркости пикселей ? Там вроде прямо цвета пикселей
|
|
|
Записан
|
|
|
|
Вад
|
|
« Ответ #2 : 27-05-2008 18:13 » |
|
Можно переводить RGB в YUV, например, затем яркостную составляющую сохранять в качестве градации серого. Рыть нужно в направлении цветовых моделей. Там формулы-то простецкие, можно только яркостную составляющую считать: Y = R * 0.299 + G * 0.587 + B * 0.114
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #3 : 27-05-2008 20:02 » |
|
Y = R * 0.299 + G * 0.587 + B * 0.114 Кстати, она эмпирически выведена, или основана на неких изученных особенностях цветовосприятия глазом?
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Yakut31
Гость
|
|
« Ответ #4 : 27-05-2008 20:03 » |
|
Вад, если для тебя все так просто, ты не могбы её написать? , просто я сишке полный ноль... (я бы придумал как тебя отблагодарить )
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #5 : 27-05-2008 20:30 » |
|
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Yakut31
Гость
|
|
« Ответ #6 : 27-05-2008 20:53 » |
|
Sla, спасибо! А нет того же но на русском?
|
|
|
Записан
|
|
|
|
Вад
|
|
« Ответ #7 : 28-05-2008 06:15 » |
|
http://ru.wikipedia.org/wiki/YUV - очень сжато, но общий смысл есть Более подробно - можно погуглить Писать ничего сейчас не хочется, может кто ещё напишет Тут и делов-то, загрузить RGB и по формуле умножить, сохранив в качестве нового битмапа в формате градаций серого. В принципе, если совсем лень разбираться, можно найти конвертор RGB->YUV (в какой-нибудь формат по полям, скажем, YUV4:2:0), и либо его переделать, либо обрезать только первое поле (Y) картинки. Там функция-то в несколько строчек Исходников таких вещей должно быть навалом, YUV - общеупотребимый формат в кодеках, в обработке изображений. dimka, насколько я понимаю, само отношение основывается на особенностях цветовосприятия, хотя как точная калибровка выполнялась - не выяснял Но везде встречал именно это соотношение.
|
|
« Последнее редактирование: 28-05-2008 06:19 от Вад »
|
Записан
|
|
|
|
marat_
Шеф-повар
Опытный
Offline
|
|
« Ответ #8 : 28-05-2008 10:20 » |
|
чёт вы загнули... тут же прямо сказано: хочу, чтобы информация из бмп отображалась на канву, редактировалась и сохранялась в бмп файл.
про матрицу яркости упомянуто по незнанию имхо.
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #9 : 28-05-2008 10:28 » |
|
в VC нет канвы, тут контекст-девайс, если быть точным
|
|
|
Записан
|
|
|
|
marat_
Шеф-повар
Опытный
Offline
|
|
« Ответ #10 : 28-05-2008 10:32 » |
|
Алексей1153++, точность - вежливость королей ))) именно контекст я и имел в виду
|
|
|
Записан
|
|
|
|
Вад
|
|
« Ответ #11 : 28-05-2008 10:48 » |
|
marat_, а по-моему, яркость - вполне себе понятие. Сложно по незнанию и ошибке такое завернуть Впрочем, пусть автор попробует изложить ещё раз суть проблемы. Подозреваю, что если задание было бы "нарисовать на экране картинку из bmp и сохранить в другой файл", так оно бы как-то близко к этому и было описано ТАК ошибиться - это ещё постараться надо.
|
|
|
Записан
|
|
|
|
marat_
Шеф-повар
Опытный
Offline
|
|
« Ответ #12 : 28-05-2008 10:52 » |
|
Вад, я и не такое от студентов слышал. после лекции обычно каша в голове. дают им задание, они домой приходят, и в инет. как вспомнил так и написал.
теперь представь себе процесс редактирование яркости пиксела. яркость, количество синего и зелёного. представил? не для неподготовленных...
|
|
|
Записан
|
|
|
|
Вад
|
|
« Ответ #13 : 28-05-2008 10:55 » |
|
Ну ладно, придёт автор и расскажет, что он под яркостью понимает
|
|
|
Записан
|
|
|
|
Yakut31
Гость
|
|
« Ответ #14 : 28-05-2008 17:37 » |
|
Парни я извеняюсь конечно, но помоему я все доступно написал... Кому надо меня сразу поняли... Но для особо доходчивых я еще раз КАК СТУДЕНТ САПРа объясняю: программа должна из bmp картинки "вынимать" матрицу яркости пикселей! т.е. открыли файл в этой проге, "вынули" матрицу, видим перед собой матрицу цифр, можем её изменить и сохранить в другой bmp файл... (но последний пункт не обязательно...) Я не знаю как еще доступней объяснить... Я попросил помочь того кто знает, а не кому самому объяснять надо... А кто знает, тот меня сразу ПРАВИЛЬНО понял!
|
|
|
Записан
|
|
|
|
marat_
Шеф-повар
Опытный
Offline
|
|
« Ответ #15 : 28-05-2008 21:50 » |
|
Yakut31, в бмп нет матрицы якрости пикселей. учи матчасть.
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #16 : 29-05-2008 06:33 » |
|
marat_, Человек ясно сказал: "Мне нужна яркость". Ему ответили, что для этого нужно пересчитать в другое представление.
Ну и вопрос... Что подразумевается под яркостью. Какой цвет более яркий - black или white? green или blue?
А теперь представь: На некий объект накладывается текстура, и необходимо определить яркость удалённого объекта. Как?
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #17 : 29-05-2008 08:38 » |
|
А я ваще не понимаю о чём вы продолжаете? Есть разные цветовые модели. В одной из них - компонент яркость. Вад, даже формулу привёл. Вроде всё ясно.
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
marat_
Шеф-повар
Опытный
Offline
|
|
« Ответ #18 : 29-05-2008 09:21 » |
|
Sla, из сообщения понятно, что матрица хранится в бмп. какая там хранится матрица??? яркости??? ну-ну
|
|
|
Записан
|
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #19 : 29-05-2008 09:36 » |
|
Ну это только в твой интертрепации. Yakut31 нигде не утверждал, что в файле BMP хранится матрица яркости пикселей. То, что она явно там не присутствует, ещё не означает, что её там нет и её нельзя извлечь. Информация о яркости пикселей там присутствует. Её и дложна извлекать программа. Это моя интертрепация.
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
marat_
Шеф-повар
Опытный
Offline
|
|
« Ответ #20 : 29-05-2008 09:38 » |
|
пипец... у меня друг еврей с таким подтекстом говорит...
|
|
|
Записан
|
|
|
|
Yakut31
Гость
|
|
« Ответ #21 : 29-05-2008 09:50 » |
|
marat_, нет никакого подтекста! я просто имел ввиду что программа должна работать с bmp файлами (понятно что там в явном виде нет матрицы яркости)... Вад, Джон и Sla меня сразу правильно поняли... Спасибо им большое за помощь и поддержку!!!
|
|
|
Записан
|
|
|
|
marat_
Шеф-повар
Опытный
Offline
|
|
« Ответ #22 : 29-05-2008 09:54 » |
|
Yakut31, вот так и надо писать. в бмп действительно может храниться матрица яркости. в виде градации серого. байт на пиксел. я в своё время много занимался графикой. и твой пост для меня ничем кроме бреда не оказался.
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #23 : 29-05-2008 10:06 » |
|
marat_, как писать, ясно только автору, а телепаты... они для этого и телепаты. Вот не знал человек о модели YUV, ему подсказали.
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Yakut31
Гость
|
|
« Ответ #24 : 29-05-2008 17:38 » |
|
Ну что парни, никто не возмется мне прогу написать (не за просто так разумеется)?
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #25 : 29-05-2008 18:10 » |
|
Yakut31, а какие форматы битмапов должна уметь хавать программа ? и вообще ТЗ , а то я , например, MFC буду использовать, а окажется - низя. Как вводить данные, как выводить (открыть файл ? Ещё как-то ? Как выдать результат ?)
|
|
|
Записан
|
|
|
|
Yakut31
Гость
|
|
« Ответ #26 : 29-05-2008 20:13 » |
|
Алексей1153++,MFC можно использовать, форматы любые как получится (я пробовал 24-разрядный), в общем ничего особо мудреного не надо... Спасибо что согласился помочь...
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #27 : 29-05-2008 20:21 » |
|
Yakut31, ТЗ то давай ) А то я сделаю - выбрать файл, загрузить, показать. А дальше?
Можешь в ЛС , даже удобнее - мне искать проще потом. Туда же - сроки
|
|
|
Записан
|
|
|
|
Yakut31
Гость
|
|
« Ответ #28 : 29-05-2008 20:35 » |
|
Алексей1153++, давай по аське обсудим (быстрей получится)? Мой номер: 249644954 Если ты не против...
|
|
|
Записан
|
|
|
|
Yakut31
Гость
|
|
« Ответ #29 : 01-06-2008 18:50 » |
|
Выражай ОГРОМНУЮ человеческую благодарность Алексею1153++ , за то что он сделал мне эту программу и никопейки за это не взял!!! Это добродушный, честный и отзывчивый человек!!! Еще раз большое спасибо!!!
|
|
|
Записан
|
|
|
|
|