У меня есть следующие два фильтра с 8 касаниями:
h0 ['-0.010597', '0.032883', '0.030841', '-0.187035', '-0.027984', '0.630881', '0.714847', '0.230378']
h1 ['-0.230378', '0.714847', '-0.630881', '-0.027984', '0.187035', '0.030841', '-0.032883', '-0.010597']
Вот они на графике:
Я использую его дляполучить приближение (нижний поддиапазон изображения).Это a(m,n)
на следующей диаграмме:
Я получил коэффициенты и диаграмму из книги Цифровая обработка изображений, 3-е издание , поэтому я верючто они верны.Символ star обозначает одномерную свертку (либо над строками, либо над столбцами).Стрелка вниз обозначает понижающую дискретизацию в одном измерении (либо по строкам, либо по столбцам).
Моя проблема заключается в том, что коэффициенты фильтра для h0
и h1
составляют более 1 (приблизительно 1,4 или sqrt (2), если быть точным).Естественно, если я сверну любое изображение с фильтром, изображение станет ярче.Действительно, вот что я получаю (ожидаемый результат справа):
Может кто-нибудь подсказать, в чем здесь проблема? Почему это должно работать , если коэффициенты фильтра свертки суммируют больше 1?
У меня есть исходный код, но он довольно длинный, поэтому я надеюсь избежать публикации здесь.Если это абсолютно необходимо, я выложу это позже.
РЕДАКТИРОВАТЬ
То, что я делаю, это:
- Разложить на поддиапазоны
- Отфильтровать один из поддиапазонов
- Перекомпоновка поддиапазонов в исходное изображение
Обратите внимание, что дело не только в том, чтобы иметь отображаемое изображение, разбитое на поддиапазоны - я должен быть в состоянии прекрасновосстановить исходное изображение из поддиапазонов, а также.Поэтому, если я масштабирую отфильтрованное изображение, чтобы компенсировать мой фильтр разложения, чтобы сделать изображение ярче, мне нужно будет сделать следующее:
- Разложить на поддиапазоны
- Применить масштабирование интенсивности к аппроксимации поддиапазона
- Фильтровать один из поддиапазонов
- Применить обратное масштабирование интенсивности к аппроксимации поддиапазона
- Перекомпоновать поддиапазоны в исходное изображение
Шаг 2 выполняет масштабирование.Это то, что предлагает @ Бенджамин.Проблема в том, что тогда становится необходимым шаг 4, иначе исходное изображение не будет должным образом восстановлено.Этот более длинный метод будет работать .Однако в учебнике прямо сказано, что не выполняется масштабирование в поддиапазоне аппроксимации .Конечно, возможно, что учебник не прав.Однако, что еще более возможно, я не совсем понимаю, как все это работает - вот почему я задаю этот вопрос.
EDIT (2010/7/8)
Я написал автору книги для подтверждения.Он сказал, что вы должны выполнять масштабирование, несмотря на то, что говорится в книге.