Зниження кемпінгу зображення цілим числом


16

При зменшенні дискретизації зображення на цілий коефіцієнт очевидним методом є встановлення пікселів вихідного зображення на середнє значення відповідних n × n блоків у вхідному зображенні.нн×н

Я пам’ятаю туманно, десь читав, що цей метод не є оптимальним (вибачте, що не пам'ятаю жодної деталі)

Чи правда, що існує кращий метод (і якщо так, то де вищезгаданий метод виявляється невдалим, хоча це здається "очевидно" правильним)? Я мало знаю про обробку сигналів, це питання мене просто цікавить.


якщо у вас немає фонового режиму обробки сигналу, пояснення лайманів є: Існують кращі методи зменшення тиску. Ваш алгоритм пониження тиску технічно зробить розмір пікселя зображення меншим на N АЛЕ алгоритм, описаний вище, значно погіршиться за якістю порівняно з кращими алгоритмами пониження.
Тревор Бойд Сміт

Відповіді:


16

Невелике моделювання зображення зменшує кількість зразків, які можуть представляти сигнал. Щодо частотної області, коли сигнал подається без вибірки, високочастотна частина сигналу буде псевдонімна з низькочастотною частиною. При застосуванні до обробки зображень бажаним результатом є збереження лише низькочастотної частини. Для цього вихідне зображення потрібно попередньо обробити (псевдонімічне фільтрування), щоб видалити високочастотну ділянку, щоб не відбулося згладжування.


Оптимальний цифровий фільтр для видалення високочастотної частини (з найгострішим відсіканням) - функція sinc . Причина полягає в тому, що представлення частотної області функції Sinc є майже постійною 1 для всієї низькочастотної області і майже постійною 0 для всієї області високої частоти.

sinc(х)=гріх(πх)πх

Імпульсна реакція фільтра sinc нескінченна. Фільтр Ланцоса - це модифікований фільтр sinc, який послаблює коефіцієнти sinc і скорочує їх, коли значення опускаються до незначущості.


Однак, бути оптимальним у частотній області не означає бути оптимальним для людських очей. Існують методи підвищення та зменшення розміру, які не підкоряються лінійним перетворенням, але дають кращі результати, ніж лінійні.


н×н

Мінімальна вимога у відповідності координат така

  1. Неамплементація зображення, що містить довільні випадкові значення за цілим коефіцієнтом, а потім зменшення розміру за тим самим цілим коефіцієнтом, має призвести до того ж зображення з мінімальними змінами чисельно.
  2. Поміщення / зменшення розміщення зображення, що складається лише з одного рівномірного значення з наступною операцією, має призвести до отримання зображення, що складається з однакового значення рівномірно, з мінімальними числовими відхиленнями.
  3. Неодноразове застосування пар перевертання / зменшення розміру слід максимально зменшити зміст вмісту зображення.

Що ви маєте на увазі під перетворенням функції sinc, що становить "майже" 1 і 0 у відповідних регіонах?

@Tim: явище Гіббса поблизу частоти відсічення фільтра sinc.
rwong

2
Синхронна перекомпонування має сенс лише для сигналів, які сприймаються / обробляються в частотній області, такі як звук. Зображення сприймаються, принаймні приблизно, в просторовій області (це дискусійно; можливо, деяке сприйняття повторних шаблонів знаходиться в частотній області), і будь-яке перетворення на основі частотної області створює неприємні спотворення (дзвінкі тощо) у просторовий домен. В основному, будь-яка згортання / лінійна операція з будь-якими негативними коефіцієнтами призведе до неприємних артефактів, а будь-яка з усіма негативними коефіцієнтами призведе до розмивання.
R .. GitHub СТОП ДОПОМОГАЙТЕ

6

Ви маєте рацію, що усереднення по площі досить близьке до "найправильнішого", яке ви можете отримати, але проблема полягає в непослідовній поведінці при зменшенні масштабу лінії різкої ширини-N на коефіцієнт N. Якщо розташування лінії вирівнюється за модулем N, ви отримаєте різку лінію в 1 пікселі, але якщо це приблизно N / 2 мод N, ви отримаєте дуже розмиту лінію (2 пікселі в половину інтенсивності). Це може виглядати дуже погано, а при нелінійній гамі це навіть призведе до різниці в інтенсивності. (В ідеалі все перекомпонування має відбуватися з гаммою, виправленою на лінійну шкалу інтенсивності, але на практиці це майже ніхто не робить, оскільки це дійсно дорого.)

Якщо ви хочете покращити це, вам потрібно спочатку прийняти той факт, що зменшити розмиття в деяких випадках неможливо, тому єдиний спосіб отримати рівномірний вихід включає збільшення розмивання. Ідеальним способом є використання ядра Гаусса з радіусом, більшим за N / 2, а не ступінчастої функції, як функції згортання з вихідним зображенням. Дешевий спосіб вирішити наближення, однак, якщо у вас уже є реалізація усереднення N-by-N по області, це просто застосувати згортання розмиття (1 / 4,1 / 2,1 / 4) до отриманого зменшеного зразка зображення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.