Pull to refresh

Comments 4

Вроде фильтры совсем базовые и простые но есть одно замечание и один совет.
Замечание - gamma у вас работает неправильно. В нем граничные значения динамического диапазона [0, 255] (или [0.0, 1.0], если удобно) должны переходить сами в себя. Поэтому лучше сначала отнормировать значение яркости к [0.0, 1.0], а потом уже возводит в степень, затем обратно.
Совет - так как фильтры точечные и каждый канал обрабатывается независимо, лучше считать их в таблице для всех значений динамического диапазона, [0, 255] например, и уже потом брать оттуда. Во-первых, это сделает скорость любого фильтра независимой от размера изображения и от сложности самого фильтра. Во-вторых, можно применять сразу несколько фильтров к таблице, а потом обсчитывать уже каналы изображения по ней. Это еще увеличит скорость обработки.

Хорошо, спасибо за совет, учту!
Я только начала этим заниматься, т.к. была лаб. работа в университете на это тему, решила осветить пока работу точечных фильтров (самое простое и базовое), а так ещё есть фильтры , основанные на матрицах, и мат. морфология, что работают чуть посложнее :)

А что же вы не сказали про скорость обработки? Про требования к памяти? Возьмите картинку с мобильного телефона (сколько там сейчас мегапикселей? 12-16?) замерьте скорость обработки и сколько памяти откушало, дополните статью.

Выбранный вами подход будет крайне не оптимальный. Мало того что вы активно используете питоновские циклы (питон довольно медленный), так вы еще всё складываете в list. Может стоит посмотреть в сторону NumPy?

Пару скромных людей (а может ботов) молча поставили комментарию минус. Рассказали бы, с чем не согласны в моем комментарии?..

Sign up to leave a comment.

Articles