| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Звук, графика и видео > Конвертация картинки в 1-бит. |
| Автор: iddqd 8.6.2006, 09:35 |
| В Corel Photo Paint есть такая функция: Image->Color Mode-Black and White (1-bit)->Conversion: Stucki Как мне использоваться эту возможность Корела из дельфи или может кто-нибудь знает алгоритм? |
| Автор: Snowy 8.6.2006, 09:38 |
| Не у всех есть Corel. Может пояснишь, что это: |
| Автор: Romikgy 8.6.2006, 09:41 |
| Если знаешь цвет каждой точки, то можно сделать так, сумируем все 3 состовляющие цвета и делим на три, получается градация серого, далее елси больше половины от белого , то ставил 1 , меньше 0, допустим цвет : 0x800101 серый =( 0x80+0x1+0x1)/3= 0x82/3= 0x2b ч/б = 0х2b > 0x7f ? 1 : 0 |
| Автор: Snowy 8.6.2006, 10:05 | ||
Тогда уж так:
|
| Автор: drkot 8.6.2006, 11:01 |
| согласен с Snowy, потому что алгоритм Romikgy однозначно ошибочен. Тама формула посложнее с коэфициентиками и пр. в зависимости от компоненты и их комбинаций (попробуй преобразовать в серый три картинки типа 255R:0G:0B; 0R:255G:0B; 0R:0G:255B; и посмотри что получится) Добавлено @ 11:03 А ты уровнем поварьируй. Добавлено @ 11:05 А лучше иди на торри там есть библиотеки по обработке изображений, там уже все реализовано, да и подсмотреть как делать можно. |
| Автор: Romikgy 8.6.2006, 11:05 | ||||
нет да возьми картинку любую , выложи здесь (только не сильно большую), и сделай в
и выложи результат, имхо желательно в бмп формате, легче будет разбиратся с алгоритмом Добавлено @ 11:10
для человека картинки будут разные , а цифр имхо одинаковые, это зависит от особеностей человеческого глаза, восприимчивость к цыетовой гамме, имхо разговор ведется о другом |
| Автор: drkot 8.6.2006, 11:12 |
| Могу предложить простое решение (неправильное но творческое). Создаеш в кореле лист с градиентной заливкой (примерно такого вида) R: 0..255 - первая полоса G: 0..255 - вторая полоса B: 0..255 - третья полоса экспортируеш это счастье в бмп24 преобразуеш в 8бит и экспортируеш в бмп8, преобразуеш в 1бит и экспортируеш в бмп1. по полученым результатам можно составить алгоритм преобразования из цвета в монохром (причем алгоритм будет адекватен кореловскому) Добавлено @ 11:21 а по моему иенно об этом. почитай стандарт jpeg там какраз это и учтено. берем два прототипа 50%G и 50%R, преобразуем в градации серого получаем 42,7% и 23,5% серого соотбетственно (это в цифре) посему чситаю утверждение ложным. |
| Автор: Romikgy 8.6.2006, 12:00 | ||
к какому боку это относится к теме????
Еще раз повторюсь все это считается исходя из параметров человеческого глаза! и используются эти коэф. В теме просят преобразовать в ч/б изображение , я представил один из вариантов его добывания, о чем ты споришь ???? |
| Автор: drkot 8.6.2006, 12:04 |
о том, что преобразование делается не просто так, а для того чтоб на результат люди смотрели. наверное особенности глаза надо учитывать. |
| Автор: Romikgy 8.6.2006, 12:12 | ||||
это спросили. его алгоритм! Я у автора темы попросил
его ответа пока не вижу А всю эту димагогию разводить ... имхо пускай автор отвечает! Спорить с тобой drkot, смысла не вижу! |
| Автор: Albinos_x 8.6.2006, 13:59 | ||
что-то вроде этого наверно:
если я правильно понял... |
| Автор: Mechanic 9.6.2006, 07:57 | ||||
Чтоб нормально просчитать цвет, нужны яркостные коэффициенты.
А потом уже можно по порогу:
А вообще, есть для B/W конвертинга масса методов. Есть ещё дитеринг. |