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
Форумы портала PHP.SU :: Версия для печати :: Фильтр неравномерности яркости
Форумы портала PHP.SU » » Графика в PHP » Фильтр неравномерности яркости

Страниц (4): [1] 2 3 4 »
 

1. Алтенрион - 21 Декабря, 2012 - 02:08:41 - перейти к сообщению
Необходима помощь в разработке, либо материалах, касательно обработки изображений.

Суть проблемы: необходимо разработать веб интерфейс для фильтра неравномерности яркости изображений.

Идея: с разработкой сайта проблем 0. Проблемы возникают с разработкой фильтра. На сайт загружается изображение, оно обрабатывается фильтром,и сохраняется. фильтр должен работать с яркостью изображения, выравнивать общую яркость его, Насколько я понимаю требуется возможность выбора яркости(повышение или понижение) при выравнивании.

Убедительная просьба откликнутся на данный пост людей сведущих и не отвечать "учи мат часть","фи, фигня", и прочее. вопрос срочный, и задание из серии must be done.
2. DlTA - 21 Декабря, 2012 - 03:16:57 - перейти к сообщению
постараюсь на пальцах объяснить как автоматом регулируют яркость, хотя должный эффект достигается только в 80% изображений (примерно)

суть в том что строится гистограмма по яркости
далее из нее выбрасываются пустые места (или те которых очень мало) а яркость остальных участков распределяется равномерно по оставшимся частям
3. DlTA - 21 Декабря, 2012 - 03:21:53 - перейти к сообщению
по изображениям, на первом исходная гистограмма, красным помечены места (яркости) точек которых либо очень мало либо вообще нет
на втором изображении эти места выбрасываются, остальное растягивается, ну и пересчитываются яркости для всех точек изображения

как посчитать яркость по умному дето в инете ходит как из RGB получить яркость, там для каждой компоненты свой коэфициент, ну и попутно обратное действие надо поглядеть.

чтоб проще было можно сразу перевести из RGB в LAB тут L это кажись и есть яркость.
остальное вроде просто гуглится
4. Алтенрион - 21 Декабря, 2012 - 15:20:22 - перейти к сообщению
По идее изменение яркости можно регулировать математическими алгоритмами, я читал по поводу

CODE (htmlphp):
скопировать код в буфер обмена
  1.  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]

возможно применять? как можете пример привести?
5. NoPaper - 22 Декабря, 2012 - 10:56:06 - перейти к сообщению
Вот статейка (http://ruseller.com/lessons.php?rub=37&id=439), там про фильтры яркости есть пару словечек
6. Алтенрион - 22 Декабря, 2012 - 13:11:44 - перейти к сообщению
Благодарю за отклик, постараюсь побыстрее изучить.
7. Алтенрион - 22 Декабря, 2012 - 15:45:36 - перейти к сообщению
Насколько я понимаю, для реализации филтра выравнивания яркости недостаточно применить просто фильтр яркости с определенным коэффициентом, поскольку просто будет изменена яркость всего изображения.

Требуется применить соответствующую маску фильтра.

Цитата:
Выравнивание гистограммы (линеаризация, эквализация). В процессе выравнивания происходит изменение значений яркости пикселов таким образом, чтобы для каждого уровня яркости было одинаковое или близкое количество пикселов.


Как это реализуется в php ?
8. DlTA - 23 Декабря, 2012 - 11:14:25 - перейти к сообщению
вы первые два ответа читали?
9. Алтенрион - 23 Декабря, 2012 - 11:40:02 - перейти к сообщению
Да, но в сети нашел лишь фильтры яркостей, контрастов и прочее. Есть идея использовать эффект понижения контраста и регулирования яркости.
10. NoPaper - 23 Декабря, 2012 - 11:56:20 - перейти к сообщению
Алтенрион, короче, нужно у некоторых пикселей изменить яркость, а остальные оставить нетронутыми, так?
11. Алтенрион - 23 Декабря, 2012 - 11:57:26 - перейти к сообщению
Вот что примерно надо мне сделать в итоге.
(Добавление)
NoPaper пишет:
Алтенрион, короче, нужно у некоторых пикселей изменить яркость, а остальные оставить нетронутыми, так?


Насколько понимаю из формуллировок "программа выравнивания неравномерности яркости", следует убрать пики сверх ярких пикселей и затемненных,либо усреднить их, или имулировать подобный эффект.

В принципе ответ ДА.
12. NoPaper - 23 Декабря, 2012 - 12:13:57 - перейти к сообщению
Тогда можно "поизвращаться" Улыбка
Создать массив с данными о каждом пикселе ($arr[$x][$y]=array(red, green, blue))
найти среднее значение каждого цвета
все, что ярче - усреднить

как-то так
13. DlTA - 23 Декабря, 2012 - 12:23:26 - перейти к сообщению
мда ребята, лепите "самокат"
14. Алтенрион - 23 Декабря, 2012 - 12:33:33 - перейти к сообщению
DlTA пишет:
мда ребята, лепите "самокат"


А если не самокат, то как порекомендуете на практике реализовать?...

У меня идея появилась совместить 2 фильтра, яркости(обычный) и контраста(обычный). Таким образом при понижении контраста получается как раз уменьшение разницы яркости между самыми яркими и самыми темными, ну и при желание полное высветление и затемнение фильтром яркости.

Но это на самом деле, как я понимаю тоже тот еще самокат, но просто как с гистограммами работать в php я не в курсе... Растерялся
15. NoPaper - 23 Декабря, 2012 - 12:48:33 - перейти к сообщению
Описанным мною выше способом получилось добиться такого результата.
Правда ресурсов и времени много нужно.
(Добавление)
DlTA, мы это дело любим =)

 

Powered by ExBB FM 1.0 RC1