Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Фильтр неравномерности яркости
Покинул форум
Сообщений всего: 180
Дата рег-ции: Сент. 2012 Откуда: Москва, Россия
Помог: 0 раз(а)
Необходима помощь в разработке, либо материалах, касательно обработки изображений.
Суть проблемы: необходимо разработать веб интерфейс для фильтра неравномерности яркости изображений.
Идея: с разработкой сайта проблем 0. Проблемы возникают с разработкой фильтра. На сайт загружается изображение, оно обрабатывается фильтром,и сохраняется. фильтр должен работать с яркостью изображения, выравнивать общую яркость его, Насколько я понимаю требуется возможность выбора яркости(повышение или понижение) при выравнивании.
Убедительная просьба откликнутся на данный пост людей сведущих и не отвечать "учи мат часть","фи, фигня", и прочее. вопрос срочный, и задание из серии must be done.
DlTA
Отправлено: 21 Декабря, 2012 - 03:16:57
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
постараюсь на пальцах объяснить как автоматом регулируют яркость, хотя должный эффект достигается только в 80% изображений (примерно)
суть в том что строится гистограмма по яркости
далее из нее выбрасываются пустые места (или те которых очень мало) а яркость остальных участков распределяется равномерно по оставшимся частям Прикреплено изображение
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
по изображениям, на первом исходная гистограмма, красным помечены места (яркости) точек которых либо очень мало либо вообще нет
на втором изображении эти места выбрасываются, остальное растягивается, ну и пересчитываются яркости для всех точек изображения
как посчитать яркость по умному дето в инете ходит как из RGB получить яркость, там для каждой компоненты свой коэфициент, ну и попутно обратное действие надо поглядеть.
чтоб проще было можно сразу перевести из RGB в LAB тут L это кажись и есть яркость.
остальное вроде просто гуглится Прикреплено изображение
Алтенрион
Отправлено: 21 Декабря, 2012 - 15:20:22
Частый гость
Покинул форум
Сообщений всего: 180
Дата рег-ции: Сент. 2012 Откуда: Москва, Россия
Помог: 0 раз(а)
По идее изменение яркости можно регулировать математическими алгоритмами, я читал по поводу
IMG_FILTER_BRIGHTNESS: Changes the brightness of the image. Use arg1 to set the level of brightness.
по ссылке : [url] http://www.php.su/functions/?imagefilter[/url]
возможно применять? как можете пример привести?
NoPaper
Отправлено: 22 Декабря, 2012 - 10:56:06
Посетитель
Покинул форум
Сообщений всего: 315
Дата рег-ции: Янв. 2012 Откуда: Минск
Помог: 9 раз(а)
Вот статейка (http://ruseller.com/lessons.php?rub=37&id=439), там про фильтры яркости есть пару словечек
Алтенрион
Отправлено: 22 Декабря, 2012 - 13:11:44
Частый гость
Покинул форум
Сообщений всего: 180
Дата рег-ции: Сент. 2012 Откуда: Москва, Россия
Помог: 0 раз(а)
Благодарю за отклик, постараюсь побыстрее изучить.
Алтенрион
Отправлено: 22 Декабря, 2012 - 15:45:36
Частый гость
Покинул форум
Сообщений всего: 180
Дата рег-ции: Сент. 2012 Откуда: Москва, Россия
Помог: 0 раз(а)
Насколько я понимаю, для реализации филтра выравнивания яркости недостаточно применить просто фильтр яркости с определенным коэффициентом, поскольку просто будет изменена яркость всего изображения.
Требуется применить соответствующую маску фильтра.
Цитата:
Выравнивание гистограммы (линеаризация, эквализация). В процессе выравнивания происходит изменение значений яркости пикселов таким образом, чтобы для каждого уровня яркости было одинаковое или близкое количество пикселов.
Как это реализуется в php ?
DlTA
Отправлено: 23 Декабря, 2012 - 11:14:25
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
вы первые два ответа читали?
Алтенрион
Отправлено: 23 Декабря, 2012 - 11:40:02
Частый гость
Покинул форум
Сообщений всего: 180
Дата рег-ции: Сент. 2012 Откуда: Москва, Россия
Помог: 0 раз(а)
Да, но в сети нашел лишь фильтры яркостей, контрастов и прочее. Есть идея использовать эффект понижения контраста и регулирования яркости.
NoPaper
Отправлено: 23 Декабря, 2012 - 11:56:20
Посетитель
Покинул форум
Сообщений всего: 315
Дата рег-ции: Янв. 2012 Откуда: Минск
Помог: 9 раз(а)
Алтенрион, короче, нужно у некоторых пикселей изменить яркость, а остальные оставить нетронутыми, так?
Алтенрион
Отправлено: 23 Декабря, 2012 - 11:57:26
Частый гость
Покинул форум
Сообщений всего: 180
Дата рег-ции: Сент. 2012 Откуда: Москва, Россия
Помог: 0 раз(а)
Вот что примерно надо мне сделать в итоге. (Добавление)
NoPaper пишет:
Алтенрион, короче, нужно у некоторых пикселей изменить яркость, а остальные оставить нетронутыми, так?
Насколько понимаю из формуллировок "программа выравнивания неравномерности яркости", следует убрать пики сверх ярких пикселей и затемненных,либо усреднить их, или имулировать подобный эффект.
В принципе ответ ДА. Прикреплено изображение (Нажмите для увеличения)
Покинул форум
Сообщений всего: 315
Дата рег-ции: Янв. 2012 Откуда: Минск
Помог: 9 раз(а)
Тогда можно "поизвращаться"
Создать массив с данными о каждом пикселе ($arr[$x][$y]=array(red, green, blue))
найти среднее значение каждого цвета
все, что ярче - усреднить
как-то так
DlTA
Отправлено: 23 Декабря, 2012 - 12:23:26
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
мда ребята, лепите "самокат"
Алтенрион
Отправлено: 23 Декабря, 2012 - 12:33:33
Частый гость
Покинул форум
Сообщений всего: 180
Дата рег-ции: Сент. 2012 Откуда: Москва, Россия
Помог: 0 раз(а)
DlTA пишет:
мда ребята, лепите "самокат"
А если не самокат, то как порекомендуете на практике реализовать?...
У меня идея появилась совместить 2 фильтра, яркости(обычный) и контраста(обычный). Таким образом при понижении контраста получается как раз уменьшение разницы яркости между самыми яркими и самыми темными, ну и при желание полное высветление и затемнение фильтром яркости.
Но это на самом деле, как я понимаю тоже тот еще самокат, но просто как с гистограммами работать в php я не в курсе...
NoPaper
Отправлено: 23 Декабря, 2012 - 12:48:33
Посетитель
Покинул форум
Сообщений всего: 315
Дата рег-ции: Янв. 2012 Откуда: Минск
Помог: 9 раз(а)
Описанным мною выше способом получилось добиться такого результата.
Правда ресурсов и времени много нужно. (Добавление) DlTA, мы это дело любим =) Прикреплено изображение
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.