|
Посоветуйте алгоритм масштабирования, в сторону уменьшения |
|
|
|
 |
Ответов
(1 - 13)
|
Apr 26 2009, 16:12
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
А, блин... Кстати, в jpeg можно все сделать по простому, если маштабировать в 2^n раз. Просто для уменьшения изображения в 2 раза делаем IDCT размером 4*4 (вместо 8*8), естественно, беря только 16 нужных коэффициентов (остальные - отбрасываем). Для уменьшения в 4 раза - IDCT размером 2*2 и пользуем только 4 коэффициента. Все, должно летать. Особенно, если в 4 раза. А если в 8 - так одна постоянка остается  Цитата 5 секунд занимает преобразовать 1.2 мега джпег в RGB. Кстати, размер выходной bmp огласите.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Apr 26 2009, 17:18
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата Просто не ожидал, что если оставить одну точку из 256, то изображение останется. А оно - осталось. Вот в этом и была проблема. Не думал, что решение в лоб, в наглую будет приемлемым. Так доведите же его до логического конца. Не берите среднее по квадрату 16*16, а в четырех квадратах 8*8, которые составляют этот большой квадрат, не делайте IDCT, а просто возьмите нулевые коэффициенты. И возьмите среднее от них. Это равносильно тому среднему, которое Вы вычисляете. Ааа, правда, у Вас еще цвет. Я так понимаю, 4:2:2? Ну тогда будет так: для Y - взять среднее из 4х DC-коэффициентов, а для U и V - взять просто соответствующий DC-коэффициент. Не надо делать IDCT, а потом усреднять. Вот и все.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Apr 27 2009, 00:03
|

Профессионал
    
Группа: Участник
Сообщений: 1 179
Регистрация: 15-09-04
Из: 141070 г. Королев МО, улица Горького 39-121
Пользователь №: 661

|
Цитата(DpInRock @ Apr 26 2009, 23:01)  Поэксперементировав с решениями в лоб пришел к выводу, что это отстой. Надо с математикой масштабировать.По-честному. тупо посмотреть куда отображается пиксель в результирующем изображении и посчитать среднее, если уменьшение значительное - загрубить цвета, загрубление цветов - полезная операция, по крайней мере при масшабировании отсканированных изображений, один из вариантов - понизили контрастность, отмасшабировали, восстановили как то долго экспериментировал с масшабированием в GIMP-е (линуксовый графредактор), пришел к выводу что для сканерных изображений это самое оно, не знаю как для фотиков, там качество получше.
Причина редактирования: Излишнее цитирование.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|